1

このエラーが発生し続けますが、理由がわかりません....

エラーは次のとおりです。

Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]:

General error' in test.php:25\nStack trace:\n#0 test.php(25): 

PDOStatement->fetch()\n#1 {main}\n  thrown in test.php on line 25

私のクエリは次のようなものです:

$stmt = $pdo->prepare("

SELECT *,t1.id AS theID FROM users
   t1 LEFT JOIN users_settings t2
ON t1.id=t2.tid                 
   INNER JOIN extra_settings t3
ON t2.bid=t3.id");

try {
    $stmt->execute();
} catch (PDOException $e) {
    echo $e -> getMessage();  
}

while($row = $stmt->fetch()){ //error is here
    //do stuff
}

スクリプトは機能しますが、とにかくエラーが表示されます =/

エラーの意味と修正方法を教えてください。

4

1 に答える 1

1

tryこれは、ステートメント内で while ループを実行する必要があるためです。

try {
    $stmt->execute();
    while($row = $stmt->fetch()){
        //do stuff
    }
} 
catch (PDOException $e) {
    echo $e -> getMessage();  
}

クエリに問題があるため、このメッセージが表示されています。試す:

SELECT *,t1.id AS theID FROM users
   t1 LEFT JOIN t2.users_settings
   ON t1.id=t2.tid                 
   INNER JOIN t3.extra_settings
   ON t2.bid=t3.id
于 2013-02-19T05:10:21.173 に答える