数据库全选

时间:2013-06-24 17:47:20

标签: php mysql database

我创建了一个数据库,其中包含名称和作业的名称和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;
?>

5 个答案:

答案 0 :(得分:2)

mysql_fetch_*()仅从结果集中提取单行。你需要获取一个循环:

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

并停止使用mysql _ *()函数。它们已经过时并且已被弃用。我强烈建议您切换到mysqli或PDO。

答案 1 :(得分:0)

  1. 了解mysql_fetch_array()的工作原理。它返回一个与获取的行对应的数组,并向前移动内部数据指针。他们有some good examples in the manual。你基本上必须创建一个循环才能达到你想要的效果。
  2. 自PHP 5.5.0起,不推荐使用MySQL扩展,将来会删除它。相反,应使用MySQLiPDO_MySQL扩展名。
  3. 尝试这样写:

    ...
    $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;
    }
    ....
    

答案 2 :(得分: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;
      }
     ?>

答案 3 :(得分: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;

  }
}
..

//读取准备声明

答案 4 :(得分: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 ; 

 }
 }

 .....

 ?>

&GT;