2016-02-08 2 views
-1

Я пытаюсь обновить данные в MySQL с помощью PDO.PHP Обновление данных в MySQL с использованием PDO

Я настроил ниже код, но получаю ошибку

SQLSTATE [42000]: Ошибка синтаксиса или нарушение прав доступа: 1064 У вас ошибка в> синтаксис SQL; проверьте руководство, которое соответствует версии сервера MySQL> для корректного синтаксиса использовать вблизи «(h1, текст) значения (» Бла-бла»в строке 1

if (isset($_POST['Submit']))://if admin wants to edit category 

$h1 = $_POST['h1']; 
$text = $_POST['text']; 

$servername = "localhost"; 
$username = "user"; 
$password = "password"; 
$dbname = "dbname"; 

try { 
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
// set the PDO error mode to exception 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

// Prepare statement 
$stmt = $conn->prepare('UPDATE sections (h1, text) values (:h1, :text) WHERE id=1'); 
$stmt->bindParam(':h1', $h1); 
$stmt->bindParam(':text', $text); 
// execute the query 
$stmt->execute(); 

// echo a message to say the UPDATE succeeded 
echo $stmt->rowCount() . " records UPDATED successfully"; 
} 
catch(PDOException $e) 
{ 
echo $sql . "<br>" . $e->getMessage(); 
} 

$conn = null; 

ответ

1

синтаксис Update должен быть:

UPDATE table_name SET `field1` = new-value1, `field2` = new-value2. 

Ваш запрос должен быть:

UPDATE sections SET `h1` = :h1, `text` = :text WHERE id = 1; 

См Update query syntax

+0

почему downvote? @downvoter? –

0

текст reserved word в mysql.

Написать свой запрос, как показано ниже: -

UPDATE sections SET `h1` = :h1, `text` = :text WHERE id = 1; 

Надеется, что это поможет :)