dryb38654
2017-04-23 04:57
浏览 13
已采纳

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

I am getting this error Fatal error: Call to a member function RecordCount() on boolean on this line if($results->RecordCount()>0) when i am trying to retrieve data from MYSQL and display into a table. I try a lot of solution but it still getting the error. Below is my php code

    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();
    }
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duanlu9816 2017-04-23 05:13
    已采纳

    Your error is caused by $results being false. That means that the query failed and it's probably because you don't seem to be providing the parameters to replace the "?" In your queries.

    You can check your db errors using

    $conn->ErrorMsg()
    

    When $results===false

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题