如何将sql对象转换为多维数组?

时间:2014-04-11 13:06:52

标签: php mysql sql arrays multidimensional-array

我写了这个简单的代码,我从MySQL表中提取了两列。然后我无法将其转换为多维数组。

所以我拥有的表只有2行,而我预期它会给我一个2行2列的输出。但相反,数组大小为4(而不是2),而且它为temp[2]temp[3]的打印提供了错误

<?php 
mysql_connect("localhost","root",""); //Connecting to the localhost
mysql_select_db("user"); //Selecting a database
$auth_data = mysql_query("SELECT EMAIL,UNIQUE_ID FROM authentication"); 
#Converting the object to an array
$temp = mysql_fetch_array($auth_data, MYSQL_BOTH);
echo sizeOf($temp);
echo $temp[0];
echo $temp[1];
echo $temp[2];
echo $temp[3];
?>

错误:

4abhinav.chawla@iiitb.org1

Notice: Undefined offset: 2 in C:\xampp\htdocs\test\test.php on line 11

Notice: Undefined offset: 3 in C:\xampp\htdocs\test\test.php on line 12

2 个答案:

答案 0 :(得分:1)

您正在使用MYSQL_BOTH,因此您可以将数字和字符串键同时放入$temp,其中只包含查询的第一个结果。

请使用PDO/mysqli并放弃mysql_*

答案 1 :(得分:0)

 you selected only two fields  so output will be two parameter.

> select emailadn uniqueid from tablename. parameter $temp[0]; $temp [1]
> ..................... $temp[2] $temp[3] wrong array