0

私はテーブルを持っています。クエリでいくつかのフィールドを数える必要があります。これは私のクエリです:

select COUNT(q1) as 'result'
from (select DISTINCT id_qs as 'q1' FROM main where id_exam=40) as q2

クエリ パーフェクトな作業です。しかし。それをphpコードに入れると:

   function HowManyQuestion($id)
   {
        mysql_connect($this->hostname,$this->username,$this->password) OR DIE("Can't connect");
        mysql_select_db($this->dbName) or die(mysql_error());
        $query = "select COUNT(q1) as 'result' from (select DISTINCT id_qs as 'q1' FROM main where id_exam=40) as q2;";
        $res = mysql_query($query) or die(mysql_error());
        $id=0;
        while ($row=mysql_fetch_array($res)) {
            $id=$row['result'];
            break;
        }
        return $id;

   }

その結果、エラーが発生しました:

SQL 構文にエラーがあります。1行目のnear ') as q2'を使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

それで、これはどのように修正しますか?

4

2 に答える 2

0

エイリアス列名は以降の処理には使用できません

            select COUNT(id_qs) as 'result'
                   from (select DISTINCT id_qs as 'q1' FROM main where id_exam=40) as q2
于 2013-08-13T13:18:29.220 に答える