0

理由を知りたい

$amzius_sql = "SELECT DISTINCT `Age` , SUBSTRING( Age, LOCATE( ' ', Age ) ) AS `AgePrefix` , SUBSTRING_INDEX( Age, ' ', 1 ) AS `AgeValue` FROM `suoPage` ORDER BY `AgePrefix` , `AgeValue` LIMIT 0 , 30";
$amzius_res = mysql_query($amzius_sql);

完璧に動作し、これ:

$amzius_sql = 'SELECT DISTINCT `Age` , SUBSTRING( Age, LOCATE( " ", Age ) ) AS `AgePrefix` , SUBSTRING_INDEX( Age, " ", 1 ) AS `AgeValue` FROM `suoPage` ORDER BY `AgePrefix` , `AgeValue` LIMIT 0 , 30';
$amzius_res = mysql_query($amzius_sql);

エラーが発生します: 'フィールドリスト'の不明な列''

唯一の違いは引用符です。両方のクエリがphpMyAdminでクエリされた場合、両方とも機能しますが、PHPでmysql_query()によってクエリされた場合、最初のクエリのみが機能します

4

1 に答える 1

2

説明は次のとおりです。

ANSI_QUOTESモードでは、サーバーは二重引用符で囲まれた文字列を識別子として解釈します。したがって、このモードを有効にする場合は、文字列リテラルを一重引用符で囲む必要があります。二重引用符で囲むことはできません。

リンク

于 2012-07-20T12:25:40.520 に答える