enabled and working Ubercartに関連する非常に単純なクエリがあり、タスクは_uc_products
_テーブルからすべてのnidを取得することですが、結果は何も返されません。
_$query = 'SELECT nid FROM uc_products';
$result = db_query($query);
dsm('===================================================');
dsm($query);
while ($nid = db_result($result)) {
dsm('$nid: '.$nid);
}
_
しかし、同じデータベースでsame queryを実行するとphpMyAdmin、it worksとなり、すべての正しい結果が得られます(現在8製品)。
しかし、次のクエリは正しく機能し、予想されるすべての結果が得られます(vid
フィールドは同じタイプですが、別の名前しかないため、最初のクエリは奇妙です):
_$query = 'SELECT vid FROM uc_products';
$result = db_query($query);
dsm('===================================================');
dsm($query);
while ($vid = db_result($result)) {
dsm('$vid: '.$vid);
}
$query = 'SELECT * FROM uc_products';
$result = db_query($query);
dsm('===================================================');
dsm($query);
while ($row = db_fetch_object($result)) {
dsm('$row->nid: '.$row->nid);
}
$query = 'SELECT nid FROM node';
$result = db_query($query);
dsm('===================================================');
dsm($query);
while ($nid = db_result($result)) {
dsm('$nid: '.$nid);
}
_
テスト結果のスクリーンショットは次のとおりです。
ご覧のとおり、最初の2つのクエリは結果を返しませんが、他のクエリは正しく機能します。
これは本当に奇妙な問題です。コアモジュールは変更しなかったので、状況がわかりません。それをlocalhostで実行しても、進行中のパブリックサーバーで実行しても、結果は同じです。つまり、条件付きアクションメニューの uc_order_condition_has_products_form()
も正しく機能しません。 Drupalでこのような問題に遭遇したことはありません。
デバッグを開始する手掛かりを誰かが持っていますか?
私はあなたの最初の結果が「0」であり、phpがそれをFalseとして評価するため、おそらくwhileループの実行を停止するためだと思います。