0

私は初めて PDO に手を出しましたが、本当に理解できないエラーが発生し続けています。問題の原因となっているコードは次のとおりです。

            <?php
                try {
                    // Querying the database
                    $STH = $DBH->query("SELECT 'Group' from 'GroupTable'");
                    // Setting the fetch mode
                    $STH->setFetchMode(PDO::FETCH_ASSOC); 

                    while($row = $STH->fetch()) {
                        echo '<option value="',$row['Group'],'">',$row['Group'],'</option>';
                    }
                } 
                catch(PDOException $e) {
                    echo "Error connecting to Database";
                    file_put_contents('logs/logsDB.txt', $e->getMessage(), FILE_APPEND);
                }
            ?>

つまり、同じエラーが発生し続けます。

SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 SQL 構文にエラーがあります。1 行目の ''GroupTable'' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

テーブル/列名を引用/引用解除しようとしましたが、引用解除すると次のエラーが発生します:

SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 SQL 構文にエラーがあります。1行目の「Group FROM GroupTable」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください

私はチェックして再確認しました.Tableは間違いなくGroupTableと呼ばれ、列は間違いなくGroupと呼ばれています.

これが本当に明らかなことであるか、初心者である場合は申し訳ありません。私はこれをいじり、基本を学ぶことができるかどうかを確認しようとしています。コードが標準に準拠していない場合はお詫びします。

4

1 に答える 1

2

ここで 2 つの問題:

  • GROUP は mySQL の予約語であるため、引用されている場合にのみ機能します。
  • テーブルと列の名前は、単純な引用符ではなく、バッククォートを使用して引用する必要があります。

    SELECT `Group` from `GroupTable`
    
于 2012-07-29T15:17:09.737 に答える