2015-08-31 3 views
0

Пожалуйста, помогите мне с этим. В основном обновить существующую таблицу (chem_users) данными с помощью 2 ключей UserId & Пароль (или разрешено использовать только 1 первичный ключ?). Использование MySQLi, что не так с этим синтаксисом.MySQLi Обновить данные в таблице

$sql = "UPDATE chem_users SET (Prj1, Prj2) VALUES ('{$_POST['kinetics']}', 
'{$_POST['thermo']}') WHERE (UserId=JohnKing Password=1234rewq)"; 

Я получил эту ошибку: Ошибка при сохранении данных пользователя У вас ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом «(Prj1, Prj2) VALUES (» кинетика в строке 1

ответ

0

Попробуйте использовать этот синтаксис:

$sql="UPDATE `chem_users` SET `Prj1`=".$_POST['kinetics'].",`Prj2`=".$_POST['thermo']." WHERE `UserId`='JohnKing' AND `Password`='1234rewq'"; 

Кстати , вы не должны просто конкатенировать переменную внутри запроса, как вы делаете, вы должны использовать подготовленные заявления. Вы можете немного узнать об этом по этой ссылке: http://www.w3schools.com/php/php_mysql_prepared_statements.asp

+0

Txs для подсказки. Я проверяю подготовленную Задача с w3s заключается в том, что она не дает примеров широкого диапазона. Есть ли другой лучший сайт для MySQLi, PHP SQL? Многие txs –

+0

Вы можете попробовать посмотреть внеочередной веб-сайт. Просто найдите Подготовленные утверждения php.net в Google. –

+0

Я пробовал это, но он не работает. Ниже моего синтаксиса: $ sql = "UPDATE' chem_users' SET 'Prj1' =". $ _ POST ['кинетика']. ",' Prj2' = ". $ _ POST ['thermo']." WHERE 'UserId' = ' JohnKing 'AND 'Password' =' 1234rewq '"; –

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