mysql_num_rows()错误

时间:2011-06-24 15:48:24

标签: php mysql post rows

<html>
<form action="update.php" method="POST" name="ID">
<input type="text" name="ID"">
<input type="Submit" value="Submit">
</form>
</html>

上面有提交表格以获取身份证号码。 我尝试获取用户输入的ID(注意:它是一个数字)并显示与该ID相对应的mysql表行。 示例:用户输入2并显示数据库中的第2行。 我的问题是显示所有行,而不仅仅需要一行。 - 额外问题:如果用户输入NULL值,如何向用户显示错误?

<?php
    $id=$_POST['ID'];
    .
    .
    .
    mysql_connect($host,$username,$password);

    if (!mysql_select_db($database))
        die("Can't select database");
    $query="SELECT * FROM table WHERE ID= '$id'";
    $result = mysql_query("SELECT * FROM vbots");
    $num=mysql_num_rows($result) or die("Error: ". mysql_error(). " with query ". $query);

    mysql_close();
    .
    .
    .
?>

3 个答案:

答案 0 :(得分:1)

您没有运行查询。

你有这个:

$query="SELECT FROM table WHERE ID= '$id'";
$result = mysql_query("SELECT * FROM vbots");

你想要这个:

$query="SELECT FROM table WHERE ID= '$id'";
$result = mysql_query( $query);

** 插入关于SQL注入的唠叨 **

答案 1 :(得分:0)

应该是这样。

<?php
$id=$_POST['ID'];

mysql_connect($host,$username,$password);

if (!mysql_select_db($database))
    die("Can't select database");
$query="SELECT * FROM table WHERE ID= '$id'";
$result = mysql_query($query);
$num=mysql_num_rows($result) or die("Error: ". mysql_error(). " with query ". $query);

mysql_close();
?>

答案 2 :(得分:0)

检查$ id是否为null:    if(!isset($ id))         die(“输入id的值!”);