从SQL中提取数组并提取不工作的PHP

从SQL中提取数组并提取不工作的PHP,php,mysql,sql,arrays,Php,Mysql,Sql,Arrays,我是PHP的新手,所以感谢您的帮助 我试图获取SQL表中某一行的内容并将其放入数组中,然后将每个值放入它自己的变量中 由于页面上的一些不同原因,我在数组和变量中都需要它们 该表有三列:学生id、名字和姓氏 我正在使用以下代码: $result = mysql_query("SELECT * FROM `students` WHERE student_id = '$studentid'",$connection); $array = array(); while ($row = mysql

我是PHP的新手,所以感谢您的帮助

我试图获取SQL表中某一行的内容并将其放入数组中,然后将每个值放入它自己的变量中

由于页面上的一些不同原因,我在数组和变量中都需要它们

该表有三列:学生id、名字和姓氏

我正在使用以下代码:

    $result = mysql_query("SELECT * FROM `students` WHERE student_id = '$studentid'",$connection);
$array = array();
while ($row = mysql_fetch_array($result)) {
    $array[] = array($row['student_id'], $row['last_name'], $row['first_name']);
}
extract($array);
但是当我尝试在页面上回显$last_name时,我得到一个未定义的变量错误。我是不是用错了

对实现这一点有什么建议吗

我知道,我使用的是旧的SQL而不是mysqli,但由于一些原因,我还不能改成它,所以感谢您帮助我使用旧代码


你在帮我学习编码!:)感谢您帮助我调试。

您正在循环一个结果集,然后从一个数组中取出结果并将其放入另一个没有键的数组中。对这是不正确的


希望只有一名学生具有此id,因此这应该可以:

$result = mysql_query("SELECT * FROM `students` WHERE student_id = '$studentid'",$connection);
$row = mysql_fetch_array($result);
extract($row);
请注意,
mysql
已被弃用,您应该改用
mysqli

$array[]=array($row['student\u id',$row['last\u name'],$row['first\u name'])

这意味着您将拥有一个具有

array=array[0]=(1,lastname1,firstname1),array[1]

试着打印出来

$array[0]
对于第一个学生,您会注意到array的键很时髦。现在把这行从

$array[]=array($row['student\u id'],$row['last\u name'],$row['first\u name'])

那你就可以了
$array[0]['first\u name']
要获得全新的名字吗?以及使用不推荐使用的api?这怎么可能!!我为你高兴!现在,如果您喜欢我的答案,请验证(单击答案内容左侧的灰色“v”),因为它会奖励我的努力;)@Loïc我想你的意思是灰色“^”,你的建议是反对票(“v”)哈哈,对不起!哈哈,我不得不等了十分钟,但后来忘了检查。
$result = mysql_query("SELECT * FROM `students` WHERE student_id = '$studentid'",$connection);
$row = mysql_fetch_array($result);
extract($row);
$array[] = array('id'=> $row['student_id'], 'last_name'=> $row['last_name'], 'first_name'=> $row['first_name']);