[英]How to select multiple rows from mysql with one query and use them in php
我目前有一个如下图所示的数据库。
其中有一个查询选择 number1 等于 1 的行。使用时
mysql_fetch_assoc()
in php 我只得到第一个有没有办法得到第二个? 就像通过一个维度数组一样
array['number2'][2]
或类似的东西
使用重复调用mysql_fetch_assoc。 它已在PHP手册中记录。
http://php.net/manual/function.mysql-fetch-assoc.php
// While a row of data exists, put that row in $row as an associative array
// Note: If you're expecting just one row, no need to use a loop
// Note: If you put extract($row); inside the following loop, you'll
// then create $userid, $fullname, and $userstatus
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}
如果需要,可以使用它来构建一个多维数组,以便在脚本的其他部分中使用。
$Query="select SubCode,SubLongName from subjects where sem=1";
$Subject=mysqli_query($con,$Query);
$i=-1;
while($row = mysqli_fetch_array($Subject))
{
$i++;
$SubjectCode[$i]['SubCode']=$row['SubCode'];
$SubjectCode[$i]['SubLongName']=$row['SubLongName'];
}
这里while循环将获取每一行。该行的所有列都将存储在$row
variable(array)中,但是当下一次迭代发生时它将丢失。所以我们将array $row
的内容复制到一个多维数组中每行调用$SubjectCode
.contents将存储在该数组的第一个索引中。这可以在我们的脚本中重用。 (我是PHP的新手,所以如果有人遇到这个谁知道更好的方式,请提及它以及我的名字的评论,以便我可以学习新的。)
这是另一种简单的方法
$sql_shakil ="SELECT app_id, doctor_id FROM patients WHERE doctor_id = 201 ORDER BY ABS(app_id) ASC";
if ($result = $con->query($sql_shakil)) {
while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["app_id"], $row["doctor_id"]);
}
看起来还没有提出完整的解决方案
$Query="select SubCode,SubLongName from subjects where sem=1";
$Subject=mysqli_query($con,$Query);
$Rows = array ();
while($row = mysqli_fetch_array($Subject))
{
$Rows [] = $row;
}
$Rows [] = $row
将行附加到数组。 结果是所有行的多维数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.