2012-05-03 4 views
0

Я хочу обновить базу данных mysql. Для меня это стало обычной практикой, но по какой-то причине без ошибок это просто не работает. Единственное, что я никогда не делал это сравнить с 2-х переменных (в данном случае, ID & & Имя)Обновление SQL перестает работать?

$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

* вздох *, http://bobby-tables.com/ – Quentin

+0

попробуйте положить кубик ($ insert); после вашего оператора $ insert и использования запроса, напечатанного непосредственно в клиенте базы данных, скажем, phpmyadmin, таким образом вы сможете отлаживать и знать, что происходит неправильно. – netemp

+0

, если вы используете этот код в производстве R.I.P для всех ваших конфиденциальных данных ... – peipst9lker

ответ

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**"); 

Это должно работать. Сообщите мне, если все еще есть проблема.

+0

Зачем кому-то голосовать? Это работает, не так ли? – think123

+0

Я пробовал код, я получил тот же результат, что и с моим кодом без изменений ??? –

+0

Теперь попробуйте пожалуйста. Приносим извинения за неудобства. – think123

1

Вместо && вы должны использовать AND, чтобы добавить еще одно условие.

+0

Nope не работает. Разве это не AND & &&? –

0

заменить & & с AND и вы должны быть хорошо

+0

Nope не работает. Разве это не AND & &&? –

+0

Нет, && не является оператором SQL – Satya

0

Ваш запрос неправильно. Ниже приведен правильный.

То, как вы использовали переменные, неверно.

Вы не указали ни одного кода для $ id. Что это?

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

Nope не работает.То же самое результат –

+0

Проверьте это. –

+0

Проверьте, какой? –

Смежные вопросы