我有一个用 Flex 制作的项目,使用 PHP 数据服务访问 SQL Server 数据库,我需要将其转换为 MySQL,我已将所有 PHP 服务从 sqlsrv 更改为 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 上它会返回将 INT
、BIT
或 DATE
值弯曲为 string
MySQL 上的主要数据类型有 INT
、VARCHAR
、BIT(1)
、DATETIME
、DATE
(与 sqlsrv 相同)
在flex上返回类型主要为object[]
最佳答案
Returns an array of strings that corresponds to the fetched row or NULL if there are no more rows in resultset.
PHP 中的原生类型相对较少,简而言之,可能的类型有 INT、FLOAT 和 STRING(其中 STRING 是其余所有类型的默认类型,如 BIT 和 DATE 等)。 PDO
更擅长使用更接近实际的类型,但仍然默认使用字符串。在 mysqli 中,您可以使用 mysqli_result_fetch_fields
要获取返回的字段类型并将其转换为所需的格式,另请参阅 MYSQLI_TYPE_*
constants .
关于php - mysqli 将位和整数作为字符串返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9433267/