2012-08-16 77 views
-1

我有一个类别表:PHP mssql_fetch_array并获得数据库的数据类型

的categoryId:整数

类别名称:字符串

我使用检索从数据库中我的数据:

while($rows[] = mysql_fetch_array($result,MSSQL_ASSOC)){} 

而且我想以json格式显示结果。

$response = array('success' => true, 'data' => $rows); 
echo json_encode($response); 

它返回:

{"success":true,"data":[{"categoryId":"1","categoryName":"Car"}]} 

是否有可能返回的categoryId为整数({ “的categoryId”:1)而不是字符串? 我知道mssql_fetch_array会返回字符串。当我对提取结果进行json_encode时,保留数据库数据类型的好方法是什么?

+2

请停止使用过时[MySQL扩展(http://php.net/manual/en/faq.databases.php#改变数据类型faq.databases.mysql.deprecated)。切换到[mysqli](http://php.net/manual/en/book.mysqli.php)或[PDO](http://ch2.php.net/manual/en/book.pdo.php)。 – CodeZombie 2012-08-16 08:49:55

+0

注意:我回滚了编辑以添加mysql标记,因为不清楚这个问题是关于mysql还是mssql(我倾向于假设后者)。 – 2015-11-19 14:40:56

回答

-1

mysql_fetch_array文档,它被写清楚

如果没有更多的行,则返回对应于所提取的行,或 FALSE的阵列。返回数组的类型取决于 如何定义result_type。

让你更好的通过type casting

$foo = (int) $bar; 
+0

我听说intval更好,但那是我的$ 0.02 – 2012-08-16 09:32:52