MySQL обновление столбца. Ошибка

Такой код:

$new = $_POST['inputval'];
$sql = "UPDATE 'tableName' SET 'RowName'=$new WHERE 'ID'=1";

Ошибка при обновлении через AJAX:

Error updating record: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''tableName' SET 'RowName'=Предзака�...' at line 1

Сам код брал из phpMyAdmin, такой запрос срабатывал отлично. переменная $new так же несёт в себе верную информацию. В чём ошибка?


Ответы (2 шт):

Автор решения: Denis640Kb

Советую Вам использовать PDO для запросов.
Файл dbconnect.php // подключаемся к БД

try {
    $dbh = new PDO('mysql:dbname=YourDB;host=YourHost;charset=utf8', 'UserName', 'UserPassword');
} catch (PDOException $e) {
    die($e->getMessage());
}
?>

Файл запроса resp.php
<?php
require "dbconnect.php";
$new = $_POST['inputval'];
$sql = "UPDATE 'tableName' SET 'RowName' = :RowName WHERE 'ID'='1'"; // Запрос
$req = $dbh->prepare($sql); 
$req->bindValue(':RowName', $new, PDO::PARAM_STR);
$req->execute(); // Выполняем запрос
?>
<?php
//Если нет желания использовать PDO, используйте следующий синтаксис
$new = $_POST['inputval'];
$sql = "UPDATE 'tableName' SET 'RowName'=".$new." WHERE 'ID'=1";

→ Ссылка
Автор решения: Рома Хр

Проблема была в кавычках. Надо было их убрать везде в названиях столбцов и добавить в переменную.

$sql = "UPDATE tableName
        SET RowName = '$new'
        WHERE ID = 1";
→ Ссылка