現在、PHP と MySQL を使用して監査 Web アプリを開発しています。アプリは問題なく XAMPP を使用してローカルで開発されました。ただし、ホストのサーバーにデプロイした後、PDO を使用してデータベースにアクセスする php ファイルの 1 つが 500 内部サーバー エラーを生成し始めました。いくつかのデバッグの後、fetch() 関数がソースであることが判明しました。
// works
$sql="INSERT INTO subsection (section_id) VALUES (:section_id)";
$query=$db->prepare($sql);
$query->execute(array(':section_id'=>$section_id));
// doesn't work
$sql="SELECT audit_id FROM audit
WHERE audit_id < :audit_id
ORDER BY audit_id DESC LIMIT 1";
$query=$db->prepare($sql);
$query->execute(array(':audit_id'=>$audit_id));
$prevAuditId=$query->fetch()[0]; // <-- error generated here
phpinfo() は、ホストのサーバーが PHP バージョン 5.33 を実行しており、PDO サポートが有効になっていることを明らかにします。要約すると、Web アプリは XAMPP インストールでローカルに動作し、ホストされている PDO は fetch method() を除いて機能しているように見えます。
この問題に関する説明をいただければ幸いです。