我写了这个简单的代码,我从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
答案 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