Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 发出「;对非对象调用成员函数bind_param();_Php_Sql - Fatal编程技术网

Php 发出「;对非对象调用成员函数bind_param();

Php 发出「;对非对象调用成员函数bind_param();,php,sql,Php,Sql,我对使用php非常陌生,目前正在一个有互动动物词汇表的网站上工作 我一直在编辑另一位开发人员编写的php页面,在运行bind_param()函数时遇到了一个错误 这是这一页的主要内容,很多内容都被删除了,所以我只能暴露我的错误 if (isset($_GET['id'])) { $results = array(); $stmt = $db_conn->prepare("SELECT specific.id, specific.name, specific.descri

我对使用php非常陌生,目前正在一个有互动动物词汇表的网站上工作

我一直在编辑另一位开发人员编写的php页面,在运行bind_param()函数时遇到了一个错误

这是这一页的主要内容,很多内容都被删除了,所以我只能暴露我的错误

if (isset($_GET['id'])) {

    $results = array();

    $stmt = $db_conn->prepare("SELECT specific.id, specific.name, specific.description, specific.group_id, m.id specific_media_id, m.type specific_media_type, m.url specific_media_url FROM ANIMAL_SPECIFIC specific LEFT JOIN MEDIA m on m.id = specific.media_id WHERE GROUP_ID = ?");
    $stmt->bind_param('i', $_GET['id']);
    $stmt->execute();
    $stmt->bind_result($specific_id, $name, $description, $group_id, $specific_media_id, $specific_media_type, $specific_media_url);
    while ($stmt->fetch()) {
        $specific = array(
            "id" => $specific_id,
            "name" => $name,
            "description" => $description,
            "group_id" => $group_id
        );

        if (!empty($specific_media_id)) {
            $media = array(
                "id" => $specific_media_id,
                "type" => $specific_media_type,
                "url" => $specific_media_url
            );
            $specific["media"] = $media;
        } 

        $results["results"]["animal_specific"][] = $specific;
    }
    $stmt->close();

    echo json_encode($results);
}
}

我得到的错误是:致命错误:对第13行调用堆栈上的/web/animaldetailsjsson.php中的非对象调用成员函数bind_param():0.0058 647448 1。{main}()/web/animaldetailsJSON.php:0


我确信我忽略了一些小错误。我所需要的只是一个JSON,它包含所有特定的动物,具有特定的组id,在MySQL中似乎是一个保留字,所以你要么使用另一个表别名,要么像在

SELECT `specific`.id, `specific`.name, `specific`.description, `specific`.group_id, m.id specific_media_id, m.type specific_media_type, m.url specific_media_url FROM ANIMAL_specific `specific` LEFT JOIN MEDIA m on m.id = `specific`.media_id WHERE GROUP_ID = ?

因此,您的查询失败,
$stmt
变为
null
,触发发布的错误。

可能是
其中GROUP\u ID=?
其中specific.GROUP\u ID=?
?您是否尝试了
var\u dump($stmt)?不那么你还不应该在这里发帖;)很抱歉,仍然会出现相同的错误。var_如何转储($stmt);帮帮我?是否存在
db_conn
?我更改了它们,但仍然得到相同的错误。我几乎可以肯定这个错误是由某个东西的命名方式引起的,我就是搞不清楚。谢谢你的意见!“准备状态”有点问题,我就是不知道是什么。对不起,我的评论中有一些拼写错误。我现在修复了这个查询,它现在工作了吗?谢谢,我永远不会知道这一点。