0

いくつかの名前と名前のID、およびジョブを含むデータベースを作成しました。

そして、働くエンジニアの名前を表示するページを作成しました。しかし、エンジニアとして働く最初の人だけが表示されます。これがコードです

<?php
mysql_connect('localhost','root','');
mysql_select_db('data');
$eng='engineer';
$query= mysql_query("SELECT * FROM `data` WHERE `job` = '$eng'")or die(mysql_error());
$arr = mysql_fetch_array($query);
$num = mysql_num_rows($query);
$name= $arr['name'];
$job= $arr['job'];
echo $name;
echo $job;
?>
4

5 に答える 5

2

mysql_fetch_*()結果セットから 1 行のみをフェッチします。ループでフェッチする必要があります。

while($row = mysql_fetch_array($query)) {
   echo $row['job'];
}

また、mysql_*() 関数の使用を停止します。それらは時代遅れであり、非推奨です。代わりに mysqli または PDO に切り替えることを強くお勧めします。

于 2013-06-24T17:50:00.857 に答える
0

これをチェックしてください、私はこれがあなたを助けると思います

<?php
......
$result= mysql_query("SELECT name, job FROM `data` WHERE `job` = '$eng'")or     die(mysql_error());
if ($result)
{
while ($row = mysql_fetch_array($result)) 
{
$name = $row['name']; 
$job= $row['job'];
echo "Name : " . $name ;
echo "Job : " . $job ; 

 }
 }

 .....

 ?>

?>

于 2013-06-24T18:27:24.103 に答える
0

圧縮された修正版

..
$result= mysql_query("SELECT name, job FROM `data` WHERE `job` = '$eng'")or die(mysql_error());
if ($result)
{
  while ($arr = mysql_fetch_assoc($result)) 
  {
    $name= $arr['name']; 
    $job= $arr['job'];
    echo $name.$job;

  }
}
..

// 準備ステートメントを読む

于 2013-06-24T18:20:49.757 に答える