$sql3 = "SELECT order_id FROM orders WHERE order_code = '$order_code'";
$result3 = $conn->query($sql3) or exit("Error code ({$conn->errno}): {$conn->error}");
$row = mysqli_fetch_assoc($result3);
$order_id = $row['order_id'];
$deliv_date = date('Y-m-d');
$sql = "UPDATE orders SET deliv_date = $deliv_date
WHERE order_id = $order_id";
$result = $conn->query($sql) or exit("Error code ({$conn->errno}): {$conn->error}");
$sql1 = "INSERT INTO invoice VALUES (0,'$order_code','$deliv_date','','$order_id')";
$result1 = $conn->query($sql1) or exit("Error code ({$conn->errno}): {$conn->error}");
以上是我正在使用的代码。最后一行的插入工作正常,并选取正确的 $order_code、$deliv_date 和 $order_id。更新时没有错误,但字段“deliv_date”从未设置为 $deliv_date。我只是从逻辑上看不出问题所在。有人能发现吗?我一直在爬墙。
谢谢。
最佳答案
您需要将日期用引号引起来:
$sql = "UPDATE orders SET deliv_date = $deliv_date
WHERE order_id = $order_id";
应该是
$sql = "UPDATE orders SET deliv_date = '$deliv_date' <-- HERE
WHERE order_id = $order_id";
关于php - mysqli 更新不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22025858/