php - 如何使用 php 从 mysql 中正确检索数据?

标签 php mysql adodb adodb-php

当我尝试从 MYSQL 检索数据并显示到表中时,我收到此错误 fatal error :在 if($results->RecordCount()>0) 上调用成员函数 RecordCount() on boolean .我尝试了很多解决方案,但仍然出现错误。下面是我的 php 代码

    if (!$conn) 
    {
       die("Failed to connect to database : " . $dsn);
    }
    else 
    {
        //database connection ok
        ADOdb_Active_Record::SetDatabaseAdapter($conn);
        if($category=='4')
        {
            $query= $conn->prepare("SELECT * FROM profiles");
            $results=$conn->Execute($query); 
        } 
        else if ($category=='3')
        {
            $query= $conn->prepare("SELECT * FROM profiles WHERE biography LIKE ?");
            $results=$conn->Execute($query); 
        }
        else if ($category=='2')
        {
            $query= $conn->prepare("SELECT * FROM profiles WHERE ranks = ?");
            $results=$conn->Execute($query); 
        }
        else if ($category=='1')
        {
            $query= $conn->prepare("SELECT * FROM profiles WHERE nationality LIKE ?");
            $results=$conn->Execute($query); 
        }
        else
        {

        }

        if($results->RecordCount()>0)
        {
            while(!$results->EOF)
            {
                //if($results->RecordCount()>0)
                //{
                echo "<table border='1' cellpadding='5'>"
                . "<tr><th>Name</th><th>Nationality</th><th>Current Score</th><th>Current Standings</th><th>Event Participate</th><th>Team</th><th>Bike</th><th>Picture</th>"; 
                echo "<tr><td>".$results->fields[1]."</td><td>".$results->fields[2]."</td><td>".$results->fields[3]."</td> <td>".$results->fields[4]."</td> 
                <td>".$results->fields[5]."</td> <td>".$results->fields[6]."</td> <td>".$results->fields[7]."</td> <td>><img src='loadimage.php?id=".$results->fields[0]."' height='100' /></td></tr>";
                echo "</table><br/>";
                $results->MoveNext();
                 }
        }
        else
        {
           echo "There is no match record. <br/><br/>";
        }
    }
        $results->close();
    }

最佳答案

您的错误是由 $results 为假引起的。这意味着查询失败,这可能是因为您似乎没有提供替换“?”的参数。在您的查询中。

您可以使用

检查您的数据库错误
$conn->ErrorMsg()

当 $results===false

关于php - 如何使用 php 从 mysql 中正确检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43567539/

相关文章:

javascript - 我对远程服务器中的 session 变量有疑问

php - MySql 数据透视表到 Yii CActiveDataProvider

mysql - 触发器内的循环和条件

mysql - 通过 Laravel 存储第 3 方数据库/API 凭证的安全方式

mysql - 如何在 php 和 mysql 中修复 mysql 大写查询

excel - 如何使用 VBA 使用 @ 作为分隔符导入 csv 文件

php - 根据场景设置默认模型值

php - 使用ajax实时获取mysql新记录

java - HQL 字符串左侧

asp-classic - 如果 ASP 页意外退出,Connection 事务会发生什么情况?