如何使用 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
当我试图从 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