0

我这里有

  <table align="center">
  <tr>
     <td>ID No</td><td>:</td>
     <td><input type="text" name="idno" size="10px" maxlength="15px" ></td>
     <td><input type="submit" value="Search ID No." name="search"></td>
    </tr>
  </table>

  <?php
    include('connect.php');
    $sql="select * from stud where ID_No='$_POST[idno]';";
    $result=mysql_query($sql);
        $s=mysql_fetch_array($result);

     $addr = $s[Home_addr];
     echo"$addr";
   ?>

如何获取整个地址?

此脚本仅返回数据库中的第一个单词。

4

3 回答 3

1

您需要遍历数据:

<?php
include('connect.php');
$idno = (integer) $_POST['idno'];
$sql="select * from stud where ID_No='$idno';";
$result=mysql_query($sql);
while ($s=mysql_fetch_array($result)) {
    $addr = $s['Home_addr'];
    echo "$addr";
}
?>

另外,请不要使用mysql_*函数来编写新代码。它们不再被维护并且社区已经开始了弃用过程。看到红框了吗?相反,您应该了解准备好的语句并使用PDOMySQLi。如果你不能决定哪个,这篇文章会帮助你。另请参阅为什么我不应该在 PHP 中使用 mysql 函数?

于 2012-05-15T02:16:40.693 回答
1

迭代mysql_fetch_array

<?php
    include('connect.php');
    $sql="select * from stud where ID_No='$_POST[idno]';";
    $result=mysql_query($sql);
    while($s=mysql_fetch_array($result))
    {

     $addr = $s[Home_addr];
     echo"$addr";
    }
   ?>
于 2012-05-15T02:17:11.450 回答
1

抱歉,题外话。但请不要将来自 $_POST 数组的用户输入直接放入查询中。您需要先通过 mysql_real_escape_string() 传递它,否则您将容易受到 SQL 注入攻击。

此外,关联数组的键是字符串,因此请引用它们:

$s['Home_addr']

不是

$s[Home_addr]

在后者中,PHP 将首先尝试将 Home_addr 视为一个常量,但当它没有找到时,它会重新将其视为一个字符串,因此它确实可以工作,但它不可靠,可能更慢,而且完全是错误的。

于 2012-05-15T02:45:18.200 回答