当我尝试从 MySQL 检索信息时,我的页面崩溃了

Posted

技术标签:

【中文标题】当我尝试从 MySQL 检索信息时,我的页面崩溃了【英文标题】:My page crashes when I try to retrieve information from MySQL 【发布时间】:2015-03-01 05:40:22 【问题描述】:

我的 php 脚本有一些问题。

我有一个存储在 PHP 文件中的 PHP 函数,我正在尝试从另一个脚本运行该 PHP 函数。

所以用代码解释一下自己:

like.inc.php:

function post_exists($id) 
    $host = "example";
    $username = "example";
    $password = "example";
    $database = "example";

    $connection = new mysqli($host, $username, $password, $database);

    $id = $connection->real_escape_string($id);

    $query = $connection->query("SELECT COUNT(`id`) AS `count` FROM `posts` WHERE `id` = '$id'");

    while ( $row = $objQuery->fetch_object() ) 
            if ( $row->count == 1 ) return true;


profile.php:

include ( 'like.inc.php' );

    if (post_exists(70) === true) 
        echo 'Exists!';
    

存在 ID 为 70 的帖子,因此它应该回显存在!但它只是崩溃了我的页面的一半。那么可能是没有正确加载?

任何帮助将不胜感激!

【问题讨论】:

不应该是$query->fetch_object() 由于您关闭了警告,您不会看到“警告:$objQuery 不是对象”或其他任何内容。 @DaveChen 谢谢!非常感激。我的朋友写了这段代码。我没有注意到他拼错了什么。 【参考方案1】:

您拥有$objQuery 的位置必须是$query。试试这段代码:

 function post_exists($id) 
        $host = "example";
        $username = "example";
        $password = "example";
        $database = "example";

        $connection = new mysqli($host, $username, $password, $database);

        $id = $connection->real_escape_string($id);

        $query = $connection->query("SELECT COUNT(`id`) AS `count` FROM `posts` WHERE `id` = '$id'");

        while ( $row = $query->fetch_object() ) 
                if ( $row->count == 1 ) return true;
    
    

【讨论】:

感谢您的回答!非常感谢^_^ @ChrisDekker 这个问题应该被删除,因为它以后不会为任何人服务,因为它只是一个简单的错字【参考方案2】:

您可以用不同的方式编写函数,如下所示:

function post_exists($id) 
    $host = "example";
    $username = "example";
    $password = "example";
    $database = "example";

    $connection = new mysqli($host, $username, $password, $database);

    $id = $connection->real_escape_string($id);

    // Instead of getting count, just get the row and 
    // do the count with PHP
    $query = $connection->query("SELECT * FROM `posts` WHERE `id` = '$id' LIMIT 1");

    if($query)
        return $query->num_rows > 0;
    
    return false;

【讨论】:

以上是关于当我尝试从 MySQL 检索信息时,我的页面崩溃了的主要内容,如果未能解决你的问题,请参考以下文章

Android:当我尝试从意图中检索数据时应用程序崩溃

如何从 Firebase 检索嵌套数据?应用程序崩溃

从 Firebase Firestore 检索时应用程序崩溃

当我尝试从 eshell 启动时,我的主管崩溃了?

当我尝试从 savedInstanceState 获取额外内容时,应用程序崩溃了

当我尝试从单链表中删除节点时,为啥我的 C 程序会崩溃