0

これは、PDO を使用して MySQL データベースにエントリを作成するための私のコードです。

$sql="INSERT INTO dictionary (entry, meaning) VALUES (:entry,:meaning)";
$prep=$db->prepare($sql);
$prep->bindParam(':entry',$entry);
$prep->bindParam(':meaning',$meaning);
try{
    $result=$prep->execute(); 
   }
catch(PDOException $e) 
   {
    echo $e->getMessage(); 
   }

しかし、それはデータベースに何も挿入していません。何が問題なのですか?

4

1 に答える 1

0

自分のコードのどこが悪いのかを他の人に尋ねても無駄です。代わりにサーバーに問い合わせる必要があります。
そのため、PDO がエラー時に例外をスローすることを確認してください。これを行うには、接続コードの後に​​次の行を追加します

$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

次に、tryコードを上に移動します

try{
    $sql  = "INSERT INTO dictionary (entry, meaning) VALUES (:entry,:meaning)";
    $prep = $db->prepare($sql);
    $prep->bindParam(':entry',$entry);
    $prep->bindParam(':meaning',$meaning);
    $result=$prep->execute(); 
} catch(PDOException $e) {
    echo $e->getMessage();
}

エラーが発生した場合は、その旨が通知されます。

于 2013-01-08T07:56:15.357 に答える