1

Medooでアプリを作り始めたばかりですが、

このような選択クエリを実行しようとしています

$datas = $database->debug()->select(
    "table",
     ["id","password"],
     ["email" => "johndoe@emailaddress.com"]
);

これを実行すると、クエリが使用されます

SELECT "id","password" FROM "table" WHERE "email" = 'johndoe@emailaddress.com'

ただし、これは常に NULL を返します

DB への挿入は正しく実行され、medoo によって生成されたクエリを mysql CLI で直接実行しようとすると、構文エラーが返されます。

構文の問題を見つけるのに苦労しています。おそらく "' 引用符ですか?

PHP Version: PHP 5.4.41
MySQL: mysql  Ver 14.14
Medoo: 0.9.8.3

助けてくれてありがとう

4

1 に答える 1

1

これは、ANSI_QUOTES. MySQL にはデフォルトで非標準の設定があるため、変更する必要がある場合があります。

通常、MySQL は両方のタイプの引用符を使用して文字列を区切り、バッククォートを識別子に使用しますが、SQL 標準では、識別子に二重引用符を使用し、文字列に単一引用符を使用します。

サーバーの設定を変更すると、それを修正する必要がありますが、MySQL の奇妙なデフォルトに依存する他のすべてのアプリケーションが壊れる可能性があることに注意してください。

于 2015-06-11T23:21:13.653 に答える