检查名称是否在数据库中?

时间:2012-05-14 03:21:00

标签: php mysql

我有一张桌子,里面有16个车名。如果在数据库中找到汽车的名称,我想更改字体颜色和大小。

这是我的表:

enter image description here

这是我前三辆车的PHP代码:

<?php
$connection = mysql_connect($host,$user,$password);
if (!$connection){
  die('Could not connect: ' . mysql_error());
}
mysql_select_db("cars", $connection);

$carname="car";
$squery = mysql_query("SELECT * FROM marks WHERE care_name=$car_name ");
echo"<div class='cars'>";
if(mysql_fetch_array($squery))  {
    echo"<r><strong>". $row['car1'] ."<strong></r>";
}
else{
    echo"<p>". $row['car1'] ."</p>";
}
echo"</div>";

echo"<div class='cars'>";
if(mysql_fetch_array($squery))  {
    echo"<r><strong>". $row['car2'] ."<strong></r>";
}
else{
    echo"<p>". $row['car2'] ."</p>";
}
echo"</div>";

echo"<div class='cars'>";
if(mysql_fetch_array($squery))  {
    echo"<r><strong>". $row['car3'] ."<strong></r>";
}
else{
    echo"<p>". $row['car3'] ."</p>";
}
echo"</div>";

?>

但是,这不起作用,只能在第一辆车(car1)上进行。

1 个答案:

答案 0 :(得分:2)

您正在使用$ row等变量而不先为其赋值。 您需要将mysql_fetch_array的返回值保存到$row变量中,例如

$row = mysql_fetch_array($squery);
if($row){
...
}

编辑:在进一步检查代码时,它包含多个基本错误,例如

  • 使用未赋值的变量;
  • 每次从$ row访问汽车时都会使用不同的名称(在 至少我希望这是一个编码错误,而不是你有16列 在你的数据库表中,每辆车一个......);
  • 如果mysql_fetch_array失败,您仍然会尝试打印内容
  • 您正在为每个mysql_fetch_array编写代码而不是 使用循环

并且可能还有很多其他人。在我们可以进一步提供帮助之前,你真的需要提高对编码实践(以及可能的数据库)的基本理解,因为这里有太多的基本错误表明你对你想要做的事情缺乏了解