在“ WHERE id = 1”附近使用的SQL语法错误

时间:2019-05-13 19:38:15

标签: php mysql

我正在尝试制作一个Arduino程序和php web来使Arduino与服务器通信。但是,在一个.php文件中,我得到了他的错误,并且我不知道如何解决它。

错误提示: 错误更新记录:您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在第1行的“ WHERE id = 1”附近使用

<?php
$rele = $_POST['rele'];
$modo = $_POST['modo'];


// Datos personales de la base de datos
    $name = "cl60-32";
    $pass = "alu32";
    $server = "localhost";
    $dates = "cl60-32";




$conn = new mysqli($server, $name, $pass, $dates);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error); }

$update_sql="UPDATE ACTUADORES SET rele=".$rele.", modo=".$modo." WHERE   id=1";

if ($conn->query($update_sql) === TRUE) {
    echo "Valores actualizados";
} else {
    echo "Error updating record: " . $conn->error;
}
$conn->close();
?>

1 个答案:

答案 0 :(得分:1)

我知道这不是OP所需要的,但这是使用PDO的版本:

$conn = new PDO("mysql:host=$server;dbname=$dates", $name, $pass);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$insertCh = $conn->prepare("UPDATE sd_posted_waoodk SET rele = :rele, modo = :modo WHERE id = '1' ");
            $insertCh->bindParam(':rele', $rele, PDO::PARAM_STR);
            $insertCh->bindParam(':modo', $modo, PDO::PARAM_STR);

        $res = $insertCh->execute();
        if($res)
            echo "Valores actualizados";
        } else {
            echo "Error updating record";
        }

对于SQL注入来说,准备好的语句更好,这就是为什么应该使用它们的原因。

编码愉快。