-1
    $deleteID = $_POST['oz'];
    if(!$deleteID){
        echo '2';
        die;    
    } else {
        //It should be working.
    }
    $checkVar = $pdo->prepare("SELECT * FROM `user_posts` WHERE `id`=:delete");
    $checkVar->bindValue(':delete',$deleteID,PDO::PARAM_STR);
    if($checkVar->execute() == false){
        echo '2';
        die;
    }

私は本当に腹を立てています。$ deleteIDが指定され、何もバインドされていません。なぜ、誰か助けてください。

4

2 に答える 2

4

  1. $pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
    接続後、エラー時に例外をスローするようにPDOを作成します。
  2. ログまたは画面のいずれかで、発生したエラーを確認できます。
  3. 他のコードではなく、ここに投稿したコードそのものを実行します。他のコードと同様に、バインディングの問題とは関係のない他のエラーが発生する可能性があります。

このTable doesn't exist問題については、タイプミス、大文字小文字の区別、サーバーの接続の誤り、PHPファイルの編集の誤りなどをチェックする必要があります。たとえば、ローカルホストに対してPHPMyAdminを実行し、リモートホストなどに対して実際のスクリプトを実行しているとします。

于 2013-01-20T08:34:02.807 に答える
2

テーブルが存在しないと表示されている場合、テーブルは存在しません。

間違ったサーバーに接続するか、間違ったデータベースを選択するか、ケースに問題があります。

http://dev.mysql.com/doc/refman/5.5/en/identifier-case-sensitivevity.html

[..]したがって、基盤となるオペレーティングシステムの大文字と小文字の区別は、データベース、テーブル、およびトリガー名の大文字と小文字の区別に影響します。つまり、このような名前では、Windowsでは大文字と小文字が区別されませんが、ほとんどの種類のUnixでは大文字と小文字が区別されます。

現在見ているのと同じデータベースとサーバーに接続していることを確認してください

print_r( $pdo );

これは承認の問題ではありません。

もう1つのアドバイス。あなたが腹を立てているなら、休憩を取り、お茶を飲み、落ち着いて、そして「あなたの常識」の優れた答えを読んで、あなたのコードをもう一度見てください:)

于 2013-01-20T09:14:45.860 に答える