2012-02-24 72 views
1

我有一個項目在flex中,使用php數據服務訪問sql服務器數據庫,我需要將其轉換爲mysql,我已經改變了所有我的php服務從sqlsrv到mysqli。
事情是這樣的:
php mysqli值是返回位和整數字符串

$this->connection = mysqli_connect(SERVER,USERNAME,PASSWORD,DATABASE); // Start Connection 
$ssqlstring = "select * from Users"; 
$runssql = mysqli_query($this->connection, $ssqlstring); 
while($user = mysqli_fetch_array($runssql)) 
{ 
    $users[$user["ID"]] = $user; 
} 
return $users; 

它工作得很好的SQLSRV但mysqli的返回彎曲的INTBITDATEstring

主要數據類型在MySQL是INTVARCHARBIT(1)DATETIMEDATE(與sqlsrv相同)
而在flex上,返回類型主要爲object[]

+0

[通過各自的值訪問PHP MySQLI預定義常量?](http://stackoverflow.com/questions/6537212/accessing-php-mysqli-predefined-constants-via-respective-value) – Wrikken 2012-02-24 18:03:51

回答

3

from the manual

返回如果在結果集沒有更多的行對應於所述提取的行或NULL的陣列。

在PHP中有相對較少的本地類型,簡而言之,可能是INT,FLOAT和STRING(其中STRING是所有其餘的默認值,比如BIT和DATE等)。 PDO在使用更接近實際的類型時稍微好一些,但仍然默認使用很多字符串。在mysqli中,可以使用mysqli_result_fetch_fields獲取返回字段的類型,並將其轉換爲所需的格式,另請參閱MYSQLI_TYPE_* constants

+0

根據您的響應我發現這個http://stackoverflow.com/questions/6537212/accessing-php-mysqli-predefined-constants-via-respective-value,謝謝 – Joaolvcm 2012-02-24 17:59:57