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

PHP で mysqli (prepare)を使用して、SELECTにビューを指定したが、結果が得られなかった
  • さくらのレンタルサーバ上 mysql 5.7, php 8.0.30
  • phpMyAdmin からは表示可能(ビューをそこで作成したからね)
  • テーブルと単純なビューを作成して確認 → ビューのみ結果が得られない
  • mysql側の権限を疑ったが、レンタルサーバにビューの詳細な設定はなし
  • mysqli のオプションを確認するが、それっぽいのは見つからず
「mysqli view select not working」等で調べるとかなり古くから問題がある様子
PDOを使って解決とか、そんな中 prepare 以外は動作するみたいな話を発見

確認したら
mysqli + prepare + View という組み合わせがNGらしい

他を mysqli で作っていたので mysqli:query を使用することにしました
※インジェクション対策 mysqli_real_escape_string() で文字列のエスケープを忘れずに







コメント