2

何が悪いのかわからない..さまざまな方法でそれを行うのを見てきました.誰かがこれの何が悪いのか教えてもらえますか..このエラーがスローされます "ERROR: SQLSTATE[42000]: Syntax error orアクセス違反: 1064 SQL 構文にエラーがあります; MySQL サーバーのバージョンに対応するマニュアルで、near 'desc を使用する正しい構文を確認してください) VALUES ('30.59','blue shirt','a really cool blue shirt ')' が 1 行目にある". 私はそれを複数の方法で試しましたが、同じ結果です..

<?php
$title = 'blue shirt';
$desc = 'a really cool blue shirt';
$price = 30.59;

$user = 'foo';
$pass = 'Bar';

try{
$conn = new PDO('mysql:host=examplehost;dbname=exampledb_name',$user,$pass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(!$conn){
    echo"couldnt connect to db";
}else {
    echo 'connected like a boss!!' . '<br>';
    $stmt = $conn->prepare("INSERT INTO 68_items (price, title, desc) VALUES (:price,:title,:desc)");
    if(!$stmt->execute(array(
            ':price' => $price,
            ':title' => $title,
            ':desc' => $desc))
    ) {
        echo'statment failed';
    }else {
        echo 'statment success, ' .  $stmt->rowCount() . 'rows affected.';
    }
}
} catch (PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
?>
4

1 に答える 1

6

descmysql の予約語なので、バッククォートを使用してエスケープする必要があります。

"INSERT INTO 68_items (price, title, `desc`) VALUES (:price,:title,:desc)"
于 2013-02-12T20:41:48.117 に答える