php -$result->fetch_array 不起作用

标签 php mysql

我正在尝试使用 GET 方法在我的数据库中选择一个表。 现在,当我在其中硬编码变量的值(表名)时,它按预期工作并返回数组中的值。

但是当我尝试通过变量确定表名时,出现以下错误:

Fatal error: Call to a member function fetch_array() on a non-object in

现在我已经尝试了 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

最佳答案

如果 $series 是一个字符串,您需要在变量周围加上引号。

尝试...

$result = $mysqli->query("SELECT * FROM PodcastSermons  WHERE sermonSeries = '". $series ."'");

希望对您有所帮助。

关于php -$result->fetch_array 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14287663/

相关文章:

php - 更改 sql_mode 在 PHP 查询中不起作用

PHP mySQL 行之间的时间

创建多对多关系时出现 MySQL 错误 #1215

mysql选择条件值

mysql - 无法写入二进制日志,因为 BINLOG_FORMAT = STATEMENT

mysql 加入,似乎不起作用 (Select_full_join)

javascript - Instafeed Js - 如何给每张图片不同的尺寸

php - MySQL查询重复内容

php - Symfony 2.4 - 重复表单字段 - 当值不匹配时,如何将违规映射到第二个字段?

php - wordpress用的是哪个编辑器?