php - mysql查询只选择第一条记录

标签 php mysql sql

我正在尝试执行查询以更新 php 中的记录。我的 php 代码是这样的:

$get_meals_info =  "Select meal_id from orders WHERE order_id ='$order_id'";
$result = mysql_query($get_meals_info) or die(mysql_error());;

if(mysql_num_rows($result)!=0)
{
    while($meal_id = mysql_fetch_assoc($result)) {
        $id=    $meal_id['meal_id'];
        //$update_status="Select meal_id from orders where order_id=" . $meal_id['order_id'] . "";

        $update_status =  "update order_main SET STATUS='$order_status' WHERE id =" . $meal_id['meal_id'] . "";
        $result = mysql_query($update_status);
        //$meal_id=null;
        echo $id;
    }

我首先在我的第一个选择查询中获取与一个订单相关的所有餐食 ID,然后我尝试使用 while 循环更新每餐的状态,但我只更新了第一餐记录而不是另一餐记录。我明白了回复:

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\learning\service\update_order_status.php on line 13

正确

最佳答案

您使用相同的变量 $result 进行数据获取和更新,第一个 update 导致您丢失原始数据,然后 $result 只包含 true 而不是资源。

关于php - mysql查询只选择第一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33461440/

相关文章:

php - 防止使用php将空数组记录提交到MYSQL数据库

sql - Azure Synapse、SQL 池作为数据流中的源

php - 安装 Predis

php - 我可以在 mysql 查询中使用什么字符来表示所有结果?

MySQL : using user-defined variables for a table name

mysql - 如何从表中获取所需的行

c# - 无法将类型 'System.Data.Entity.DynamicProxies.ApplicationUser_xxxxxxxx' 的对象强制转换为类型 'System.String'

sql - 如何从SQLite数据库获取最后一个表

php - 需要知道MySQL中的Mid([GTIN],2,10)是什么

php - 将表单操作添加到配置页面