SQL语法错误 - SET

时间:2015-04-26 15:12:50

标签: php sql mysqli sql-update

PHP脚本中的SQL错误,我对SQL很新。这可能是之前被问过的傻事,但我可能正在寻找错误的东西,因此找不到答案 - 我确实看了!

SQL错误 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'SET approved ='1'附近使用正确的语法在第1行使用主要='16'

问题专栏:

$query = "UPDATE $table SET approved = '1' WHERE primary = '$id';";

我的其余代码:

<?PHP require ('config.php');

$id = $_GET['id'];


$query = "UPDATE $table SET approved = '1' WHERE primary = '$id';";
$execute = mysqli_query($conn,$query);

if ($execute){
echo "Entry $id successfully approved.";
}


else { echo "Error: " . $sql . "<br>" . mysqli_error($conn);};



?>

1 个答案:

答案 0 :(得分:0)

尝试这种方式首先设置$table变量,因为它会导致语法错误&amp;添加反引号(`)到你的主列名,因为它是RESERV MYSQL的关键字,但这可能不是这里的主要原因。

<?php
  require ('config.php');
 try {
            $id = $_GET['id'];
            $approved=1;
            $table="your_table_name";  // set table name here
            $database="your_database_name";
            $dbUser="your_user_name";
            $dbPass="your_password";
            $dbh = new PDO("mysql:host=your_host_name;dbname=$database", $dbUser, $dbPass);
            $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

            $stmt = $dbh->prepare("UPDATE $table SET approved =? WHERE `primary` = ?");
            $stmt->execute(array($approved,$id));
            echo "Entry $id successfully approved.";

        } catch(PDOException $e) {
            echo $e->getMessage();
        }
?>