5

Drupal6 で以下のクエリを作成しました。

$sql = 
    "SELECT registryvalue 
    FROM {muln_registry} 
    WHERE fk_applicationid = %d 
    AND registrykey = '%s'";

$result = db_result(db_query($sql, 32, 'SHOW_SCORE_TO_STUDENT'));

値 1 を返すはずですが、何も表示されていません。コピーしてmysqlエディターで実行すると、正しく返されます。

しかし、今では空になります。データベース接続などにエラーはありません。他のクエリは完全に実行されているためです。

ここでのエラーは何ですか?

4

5 に答える 5

0

エラーが表示されるのは{}

する必要があります

 $sql = "SELECT registryvalue FROM muln_registry WHERE fk_applicationid = %d AND registrykey = '%s'";
于 2013-03-26T09:58:26.133 に答える
0

「SHOW_SCORE_TO_STUDENT」が毎回同じである場合、使用しない理由:

$sql = "SELECT registryvalue FROM {muln_registry} WHERE fk_applicationid = '%d' AND registrykey = 'SHOW_SCORE_TO_STUDENT'";

また、2 番目のパラメーターの前後に ' ' がありますが、最初のパラメーターにはありません。それが問題であるかどうかわかりませんか?

于 2013-05-03T13:32:20.360 に答える
0

試してみてください

echo '<pre>';
var_dump(db_query($sql, 32, 'SHOW_SCORE_TO_STUDENT'));
echo '</pre>';

そして、ハンドルにあるデータを確認します。これにより、何が問題なのかをよりよく理解できる場合があります。私の提案は PDO に切り替えることですが、システムが既に別の DB メカニズムを使用している場合、それが有効なオプションではないことはわかっています。

于 2013-05-02T20:37:28.697 に答える
-1

パターンの検索には LIKE 演算子を試してみてください。たとえば WHERE column_name LIKE '%searchString'、レコードが searchString で始まる場所を検索します。

Like の詳細については、検索してください。

于 2013-03-26T10:07:20.690 に答える
-2

使ってください:

$sql     = "SELECT registryvalue FROM muln_registry WHERE fk_applicationid = %d AND registrykey = '%s'";

それ以外の

$sql     = "SELECT registryvalue FROM {muln_registry} WHERE fk_applicationid = %d AND registrykey = '%s'";

{} 中かっこは削除されました。

于 2013-03-26T10:15:14.603 に答える