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

How to retrieve data properly from mysql using php?

当我试图从 MYSQL并显示成table。我尝试了很多解决方案,但仍然出现错误。下面是我的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