我想更新一个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**");
任何帮助都将不胜感激。
答案 0 :(得分:1)
而不是&&
,您应该使用AND
添加另一个where-condition。
答案 1 :(得分:0)
改为写下:
$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**");
现在应该可行了。如果仍有问题,请通知我。
答案 2 :(得分:0)
替换&&与AND,你应该是好的
答案 3 :(得分:0)
您的查询错误。以下是正确的。
您使用变量的方式是错误的。
您还没有为$ id编写任何代码。那是什么?
$insert = "UPDATE vendors SET name = '".$_POST['name']."', duty = '".$_POST['duty']."', number = '".$_POST['number']."', url = '".$_POST['url']."' WHERE id = '$id' AND name = '$name'";