投稿

ラベル(sql view)が付いた投稿を表示しています

mysqli から View を select しても結果が得られない

PHP で mysqli ( prepare )を使用して、SELECTにビューを指定したが、結果が得られなかった さくらのレンタルサーバ上 mysql 5.7, php 8.0.30 phpMyAdmin からは表示可能(ビューをそこで作成したからね) テーブルと単純なビューを作成して確認 → ビューのみ結果が得られない mysql側の権限を疑ったが、レンタルサーバにビューの詳細な設定はなし mysqli のオプションを確認するが、それっぽいのは見つからず 「mysqli view select not working」等で調べるとかなり古くから問題がある様子 PDOを使って解決 とか、そんな中  prepare 以外は動作する みたいな話を発見 確認したら PDO で確認 → OK mysqli::query  で確認 → OK mysqli + prepare + View という組み合わせがNGらしい 他を mysqli で作っていたので mysqli:query を使用することにしました ※インジェクション対策 mysqli_real_escape_string() で文字列のエスケープを忘れずに