0

16 の車名を含むテーブルがあります。車の名前がデータベースにある場合、フォントの色とサイズを変更したい。

これは私のテーブルです:

ここに画像の説明を入力

そして、これは最初の 3 台の車の 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)。

4

1 に答える 1

2

最初に値を割り当てずに $row などの変数を使用しています。mysql_fetch_arrayからの戻り値を$row変数に保存する必要があります。

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

編集:コードをさらに調べると、次のような複数の基本的なエラーが含まれています

  • 値が与えられていない変数を使用する。
  • $row から車にアクセスするたびに異なる名前を使用します (
    少なくとも、これがコーディング エラーであり、データベース テーブルに車ごとに 1 つずつ 16 列あることを願っています...);
  • mysql_fetch_array が失敗した場合でも、内容を出力しようとします
  • ループを使用する代わりに、個々の mysql_fetch_array ごとにコードを書いている

おそらく他にもたくさんあります。ここには、何をしようとしているのかを理解していないことを示す基本的なエラーが多すぎるため、さらに支援する前に、コーディングの慣行 (および場合によってはデータベース) の基本的な理解を深める必要があります。

于 2012-05-14T03:24:54.013 に答える