0

コーディング時に目がぼやけてHY093いて、PDOを使用してmysqlにデータを挿入することで発生するエラーの原因を見つけることができないようです

function whatever($post_id, $comment) {
...
$query = "INSERT INTO `comments` (`id`, `post_id`, `comment`) VALUES (:id, post_id,:comment)";
$sql = $db->prepare($query);
$check = $sql->execute(array(':id'=>'',
                             ':post_id'=>$post_id,
                             ':comment'=>$comment));

//verify if data is inserted
if($check) {
    $test = 'inserted';
} else {
    $test = $sql->errorCode();
}
    return $test;
}

このエラーが発生しますHY093

idは自動インクリメント''です。それを宣言する正しい方法を使用するかどうかはわかりません。

4

4 に答える 4

0

NULL を使用できます。

$query = "INSERT INTO `comments` (`id`, `post_id`, `comment`) VALUES (NULL, :post_id,:comment)";

またはそのままにしておきます:

$query = "INSERT INTO `comments` (`post_id`, `comment`) VALUES (:post_id,:comment)";

それで:

$check = $sql->execute(array(':post_id'=>$post_id,
                             ':comment'=>$comment));
于 2013-11-07T08:58:43.220 に答える