0

我查看了很多帖子,但我仍然无法理解为什么这个简单的 UPDATE 无法影响数据库:


$con = mysqli_connect("localhost", "username", "password", "database");
// check connection
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}


$quantityArray = array();

foreach ($_POST as $key => $value) {
    $quantityArray[$key] = $value;
}

foreach ($quantityArray as $key => $value) {
    $value = mysqli_real_escape_string($con, $value);
}

foreach ($quantityArray as $key => $value) {
    $query = "UPDATE inventory SET quantity = $value WHERE uniqueID = $key";

echo "<br /><br / >" . $query . "<br /><br / >";

    $result = mysqli_query($con, $query);

echo "<br /><br / >" . $result . "<br /><br / >";

}

调用此脚本时,$_POST 是一个由唯一 ID 作为键和数量作为值的数组(两者都是整数值)。我已经测试并确认,是的,只有适当的键和它们的值被传递,所以为什么这不起作用对我来说是个谜。

更新: $result 什么都不返回

谢谢您的帮助!

4

4 回答 4

0

尝试改变

$query = "UPDATE inventory SET quantity=" . $value . " WHERE uniqueID=" . $key;

$query = "UPDATE databasename . inventory SET quantity=" . $value . " WHERE uniqueID=" . $key;
于 2013-05-08T19:44:08.997 回答
0

也许UPDATE声明正确更新,但是您正在寻找错误的数据库来检查它!

于 2013-05-08T20:41:31.890 回答
0

从评论中我们得到了一个简单的解决方案:mysqli_error( $con );帮助找出默认用户权限不足以对指定的表执行 UPDATE 操作。添加具有适当权限的新用户解决了该问题。

于 2013-05-08T20:41:53.147 回答
-1

尝试这个:

$query = "UPDATE inventory SET quantity = $value WHERE uniqueID = $key";
于 2013-05-08T19:42:03.233 回答