2016-01-12 2 views
-2

Я не так хорош в кодировании, и я застрял на довольно легком запросе, я был бы признателен за всю помощь, я использую mysqli. вот мой PHP-код:Проблема с запросом на обновление PHP-Mysqli

if(!empty($_POST)){ 
    if(isset($_POST['email_adres'])){ 
     $email_adres = trim($_POST['email_adres']); 
     $score = 1; 
     if(!empty($email_adres)) { 
      $insert = $db->prepare("UPDATE gebruiker SET score WHERE email_adres = $email_adres VALUES(?)"); 
      $insert->bind_param('s',$score); 
      if($insert->execute()){ 
       die(); 
      } 
     } 
    } 
} 

это ошибка, я получаю:

Fatal error: Call to a member function bind_param() on a non-object

+1

хорошо, что вы идете; не-объект. может быть что угодно. проверьте наличие ошибок в PHP/MySQL. –

+1

и ваш запрос wayyyy off 'WHERE email_adres = $ email_adres VALUES (?)'. Это требует учебника MySQL 101. и 'bind_param ('s'' и пытается связать целое число. –

+0

В вашем запросе есть синтаксическая ошибка. Должен быть' UPDATE gebruiker SET score =? WHERE email_adres =? '. Вы также должны привязать свой' $ email_adre' -> ' $ insert-> bind_param ('is', $ score, $ email_adre); ' – Sean

ответ

0

Вы неправильно UPDATE заявление. Это должно быть что-то вроде этого:

UPDATE gebruiker SET score = ? WHERE email_adres = $email_adres 
+1

ОК и что теперь делать с привязкой? –

+1

'$ email_adres' должно быть в кавычках. Но было бы лучше использовать параметр. – Barmar

4

Синтаксис запроса на обновление, как это:

Update {table_name} SET {fieldname} = {value} WHERE {condition} 

Итак, наш запрос должен быть, как этот

UPDATE gebruiker SET score = ? WHERE email_adres = ? 

Проверьте код ниже:

if(!empty($_POST)){ 
    if(isset($_POST['email_adres'])){ 
     $email_adres = trim($_POST['email_adres']); 
     $score = 1; 
     if(!empty($email_adres)) { 
      $insert = $db->prepare("UPDATE gebruiker SET score = ? WHERE email_adres = ?"); 
      $insert->bind_param('is',$score,$email_adres); 
      if($insert->execute()){ 
       die(); 
      } 
     } 
    } 
} 
+2

Хорошо, так объясните, почему их код терпит неудачу? так много низкокачественных ответов в наши дни, это не смешно. –

+1

Спасибо Фред, я обновил свои комментарии –

+2

спасибо, многие будут благодарны вам за это ;-) –

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