GET メソッドを使用してデータベース内のテーブルを選択しようとしています。そこにある変数の値 (テーブル名) をハードコーディングすると、期待どおりに機能し、値が配列に返されます。
しかし、変数を介してテーブル名を決定しようとすると、次のエラーが発生します。
致命的なエラー: 非オブジェクトでメンバ関数 fetch_array() を呼び出しています
今私は試してみましたvar_dump($result);
が、それは戻りますbool(false)
。
これで、変数は値を持ちます。これを画面にエコーバックすると、期待する値が得られるからです。
では、テーブル検索のクエリを作成するときに値が返されないのはなぜですか?
$result = $mysqli->query("SELECT * FROM PodcastSermons WHERE sermonSeries = ". $series); //This where a change needs to happen
var_dump($result);
$posts = array();
while($row = $result->fetch_array())
{
$ID=$row['ID'];
$sermonTitle=$row['sermonTitle'];
$sermonSpeaker=$row['sermonSpeaker'];
$sermonSeries=$row['sermonSeries'];
$sermonDate=$row['sermonDate'];
$linkToImage=$row['linkToImage'];
$linkToAudioFile=$row['linkToAudioFile'];
$posts []= array (
'ID'=> $ID,
'sermonTitle'=> $sermonTitle,
'sermonSpeaker'=> $sermonSpeaker,
'sermonSeries'=> $sermonSeries,
'sermonDate'=> $sermonDate,
'linkToImage'=> $linkToImage,
'linkToAudioFile'=> $linkToAudioFile
);
}
$response['posts'] = $posts;
var_dump($posts);
PS mysql スタイルの減価償却について読んだことがありますが、mysqli の記述を使用する必要があることを知っています。PHP バージョン 5.2.6-1+lenny16 を実行しています