php - PDO语法错误

标签 php mysql pdo

我正在为一个项目使用 PDO,但我在提交时遇到语法错误...这是我的代码:

<?php

require_once('_database.php');

    $titre = $_POST['titre']; 
    $text = $_POST['text'];
    $date = date("Y-m-d");

try
{               
    // Insertion dans la base de donnée                         
    $requete = $connexion->exec("INSERT INTO article (id, idAuteur, titre, text, date) VALUES (0, 0, $titre, $text, $date)");           

    if (!$requete) {
       echo "\nPDO::errorInfo():\n";
       print_r($connexion->errorInfo());
       echo $requete;
    }

}
catch(Exception $e)
{
    die('Erreur : '.$e->getMessage());
}

?>

这是我在浏览器中得到的:

PDO::errorInfo(): Array ( [0] => 42000 [1] => 1064 [2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '
Your contentrgrgrg

, 2013-12-18)' at line 1 )

我想我忘记了一些明显的东西,但看不到什么......

最佳答案

因为您已经在使用 PDO,所以您应该将参数化查询与 prepared statements 一起使用.

$stmt = $connexion->prepare("INSERT INTO article (id, idAuteur, titre, text, date)
    VALUES (0, 0, ?, ?, ?)");           
$stmt->execute(array($titre, $text, $date)); 

关于php - PDO语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20667026/

相关文章:

PHP时间戳日期到用户时区

mysql - 将 sql 中 UNION 的结果合并在一起

php - 强制将记录插入多个表

php - 何时使用 PDO 准备查询。 mysql_real_escape 错误

php - Magento install 在可用时提示缺少 InnoDB

php - 使用数据库+ Symfony 2 和 Doctrine 中的值填充表单中的选择列表

javascript - 未捕获的类型错误 : Cannot read property 'options' of null - some of the code work

php - 静态网页 vs MySql 生成

python - 使用 MySQL insert 命令运行 python 时出现参数错误

php - 为什么我的 PHP PDO 选择在不使用页面限制的情况下?选择中的数组也有问题