SQL 更新停止工作


SQL Update ceasing to work?

我想更新一个 mysql 数据库。这对我来说已经成为一种常见的做法,但由于某种原因,没有错误,它只是不起作用。我唯一从未做过的是与 2 个变量进行比较(在本例中为 ID && Name)

$name = $_POST['name'];
$duty = $_POST['duty'];
$number = $_POST['number'];
$url = $_POST['url'];
 $insert = "UPDATE vendors SET name = '$_POST[name]', duty = '$_POST[duty]', number = '$_POST[number]', url = '$_POST[url]' WHERE id = '$id' && name = '$name'";
$result=mysql_query($insert) or die(mysql_error());
 if ($result) {
 header("location:**HIDDEN**");

任何帮助将不胜感激。

而不是&&,你应该使用 AND 来添加另一个 where-条件。

改写这个:

$name = $_POST['name'];
$duty = $_POST['duty'];
$number = $_POST['number'];
$url = $_POST['url'];
 $insert = "UPDATE `vendors` SET `name` = '{$_POST['name']}', `duty` = '{$_POST['duty']}', `number` = '{$_POST['number']}', `url` = '{$_POST['url']}' WHERE (`id` = '$id' AND `name` = '$name')";
$result = @mysql_query($insert) or die(mysql_error());
 header("location:**HIDDEN**");

它现在应该可以工作了。如果仍有问题,请通知我。

将 && 替换为 AND 你应该很好

您的查询是错误的。以下是正确的。

您使用变量的方式是错误的。

您没有为$id编写任何代码。什么?

$insert = "UPDATE vendors SET name = '".$_POST['name']."', duty = '".$_POST['duty']."', number = '".$_POST['number']."', url = '".$_POST['url']."' WHERE id = '$id' AND name = '$name'";