我在这里
<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";
?>
如何获取整个地址?
此脚本仅返回数据库中的第一个单词。
答案 0 :(得分: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_*
函数来编写新代码。它们已不再维护,社区已经开始deprecation process。请参阅red box?相反,您应该了解prepared statements并使用PDO或MySQLi。如果您无法确定哪个,this article会对您有所帮助。另请参阅Why shouldn't I use mysql functions in PHP?
答案 1 :(得分: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";
}
?>
答案 2 :(得分:1)
抱歉,不在话题。但请不要将$ _POST数组中的用户输入直接放入查询中。您需要首先通过mysql_real_escape_string()传递它,否则您将容易受到SQL注入攻击。
此外,关联数组的键是字符串,所以请引用它们:
$s['Home_addr']
不
$s[Home_addr]
在后者中,PHP将首先尝试将Home_addr视为一个常量,但是如果没有找到它,它将会像对待字符串一样对待它,因此它确实有效,但它不可靠,可能更慢,而且完全错误。