私は2つのテーブルとその2つの関連テーブルを持っています。私は、ターミナルからコードを実行している私の望む結果を与えるクエリを実行しようとしているが、PHPから実行された場合、ゼロまたは未知のカラム結果を返す。mysqliはphpのクエリで0を返しますが、端末で正しい結果を返します
これが私のクエリです:まさになどの上記のコードを実行する
$result = $mysqli->query("SELECT * FROM projects p
JOIN projects_groups pg on p.projectid = pg.projectid
JOIN groups g on g.groupid = pg.groupid
WHERE p.projectid = 'bestproject'");
は私に0結果をバック与えます。私が変数 'bestproject'をスイッチすると、unkwownカラムのbestprojectエラーが戻されます。
私のクエリで何が問題になっていますか?
更新:私は混乱の原因となった結果を受け取っていた私の機能に愚かなエラーがありました。クエリが成功したときに受信側関数が空の配列を表示していて、クエリーを処理した関数がクエリーが間違っていた場合に空の結果または失敗した結果を表示していました(上記ではありません)。私は代わりに他の場所を見るためにクエリのエラーを探し続けました。あなたの時間を無駄にして申し訳ありません。
もう少し詳しく説明してください。結果についてnum_rowsについて話していますか? – cvipul
はい、num_rowは0ですが、不可能です。私はレコードをテストするために手動で作成しましたが、それは端末で動作します。 –
実際に正しく戻っている可能性があります。 'num_rows'は完全に安全ではありません。 mysqli_num_rows()の振る舞いは、バッファされた結果セットとバッファなしの結果セットが使用されているかどうかによって異なります。バッファされていない結果セットの場合、結果のすべての行が取得されるまで、mysqli_num_rows()は正しい行数を返しません。 ' – aynber