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_*()只从结果集中获取一行。您需要循环获取:

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

并停止使用 mysql_*() 函数。它们已过时且已弃用。我强烈建议您改用 mysqli 或 PDO。

于 2013-06-24T17:50:00.857 回答
0
  1. 看看是如何mysql_fetch_array()工作的。它返回一个与获取的行相对应的数组,并将内部数据指针向前移动。他们在手册中有一些很好的例子。您基本上必须创建一个循环才能归档您想要的内容。
  2. MySQL 扩展自 PHP 5.5.0 起已弃用,将来将被删除。相反,应该使用MySQLiPDO_MySQL扩展。

试着这样写:

...
$query= mysql_query("SELECT * FROM `data` WHERE `job` = '$eng'")or die(mysql_error());

while ($arr = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $name= $arr['name']; 
    $job= $arr['job'];
    echo $name;
    echo $job;
}
....
于 2013-06-24T17:52:24.637 回答
0

您需要遍历作为执行 mysql 查询的结果返回的结果集。请尝试执行以下代码片段

<?php
     mysql_connect('localhost','root','');
     mysql_select_db('data');
     $eng='engineer';
     $query= mysql_query("SELECT * FROM `data` WHERE `job` = '$eng'")or  die(mysql_error());

     $num = mysql_num_rows($query);
    while($arr = mysql_fetch_array($query))
     {
         $name= $arr['name'];
         $job= $arr['job'];
         echo $name;
         echo $job;
      }
     ?>
于 2013-06-24T17:58:02.883 回答
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 回答
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 回答