【问题标题】:mysqli_query() expects parameter 3 to be longmysqli_query() 期望参数 3 很长
【发布时间】:2016-02-02 11:40:24
【问题描述】:

我想用查询更新mysql表,但它显示

错误 - mysqli_query() 期望参数 3 很长

if($money >= 400) {

$query = "UPDATE users SET spam = spam + 1, money = money - 400 WHERE user_id=".$_SESSION['user'];
$query = "UPDATE users SET score = score + 2500 WHERE user_id=".$_SESSION['user'];

$update = mysqli_query($conn,$query,$query);
echo 'Spam.exe Upgraded for $400!!';

} else {

// Prints error
echo 'Not enough Money!!';

}

【问题讨论】:

  • 我也想更新这就是为什么
  • 为什么是$update = mysqli_query($conn,$query,$query);,为什么不是$update = mysqli_query($conn,$query);
  • 为什么要传递 2 个查询参数,而不是使用多查询。或者改为使用 2 次 $update = mysqli_query($conn,$query1);$update2 = mysqli_query($conn,$query2);
  • 我已阅读但我无法理解请帮助

标签: php mysql


【解决方案1】:

只需像这样分别调用 2 个查询:

if($money >= 400) {

$query1 = "UPDATE users SET spam = spam + 1, money = money - 400 WHERE user_id=".$_SESSION['user'];
$query2 = "UPDATE users SET score = score + 2500 WHERE user_id=".$_SESSION['user'];

$update1 = mysqli_query($conn,$query1); // call 1st query
$update2 = mysqli_query($conn,$query2); // call 2nd query
echo 'Spam.exe Upgraded for $400!!';

} else {

// Prints error
echo 'Not enough Money!!';

}

【讨论】:

  • 你也可以在MYSQLI中使用mysqli_multi_query ... :)
  • @devpro,但我猜用户不知道。因此,我尝试在用户感到舒适的部分进行回答。否则mysqli_multi_query 是一个不错的选择
【解决方案2】:

只需使用 mysqli_multi_query(),您可以使用字符串连接将两个更新查询作为单个查询运行:

$query = "UPDATE users SET spam = spam + 1, money = money - 400 WHERE user_id=".$_SESSION['user'].";";
$query .= "UPDATE users SET score = score + 2500 WHERE user_id=".$_SESSION['user'];

mysqli_multi_query($con,$query);

【讨论】:

    【解决方案3】:

    检查以下代码:

    $query = "UPDATE users SET spam = spam + 1, money = money - 400 WHERE user_id=".$_SESSION['user'];
    $query1 = "UPDATE users SET score = score + 2500 WHERE user_id=".$_SESSION['user'];
    
    $update = mysqli_query($conn,$query);
    $update1 = mysqli_query($conn,$query1);
    echo 'Spam.exe Upgraded for $400!!';
    

    【讨论】:

      【解决方案4】:

      mysqli_query 的第三个参数是$resultmode。 见http://php.net/manual/en/mysqli.query.php

      只需使用mysqli_query($conn,$query).

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-08
        • 1970-01-01
        相关资源
        最近更新 更多