php - mysqli 将位和整数作为字符串返回

标签 php mysql mysqli sqldatatypes

我有一个用 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 上它会返回将 INTBITDATE 值弯曲为 string

MySQL 上的主要数据类型有 INTVARCHARBIT(1)DATETIMEDATE (与 sqlsrv 相同)
在flex上返回类型主要为object[]

最佳答案

from the manual

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/

相关文章:

php - html 表并用带有空行的 php 填充

php - Codeigniter 中特定列字段搜索的实现

php - 这个基于 PHP 的 SQL 语句的正确语法是什么?

php - 更新到 SQLi 时 MySQL 注册不起作用?

php - jQuery Mobile - IE 缓存问题

php mysql获取最后插入行的ID给出错误

php - AngularJS、PHP 和 MySQL : How to insert variables correctly using PDO?

MYSQL - Like 语句不适用于特殊字符

mysql - 如何将 block 移动到另一个主题区域

php - MySql 更新上的投票系统将不起作用