我想计算用户表中具有特定名称和pwd(如果存在的话应该为1)的行数。但是无论用户是否存在,结果总是返回null(而不是0)。我甚至将查询简单地更改为"SELECT * FROM users",并以相同的结果结束。我很确定DATABASE和TABLE的名称是真实的,并且表不是空的!
顺便说一下,为什么我必须使用"@"符号之前"mysqli_query",以摆脱错误?谢谢!
enter code here
<?php
#$mysql_db_hostname = "localhost";
$mysql_db_hostname = "127.0.0.1";
$mysql_db_user = "root";
$mysql_db_password = "";
$mysql_db_database = "smartFSUsers";
$con = mysqli_connect($mysql_db_hostname, $mysql_db_user, $mysql_db_password,$mysql_db_database);
if (!$con) {
trigger_error('Could not connect to MySQL: ' . mysqli_connect_error());
}
$name = $_GET["name"];
$password = $_GET["password"];
$query = "SELECT * FROM users WHERE name='$name' AND password='$password'";
$result =@mysqli_query($query,$con);
echo($result);
$row=@mysqli_num_rows($result);
echo"the row num is $row 'n";
?>
RTM: http://php.net/mysqli_query
$result =@mysqli_query($query,$con);
你把参数弄反了。$con
必须优先:
$result = mysqli_query($con, $query) or die(mysqli_error());
如果你在你的代码中添加了错误修正,你就会被告知这一点。但是没有,您选择了@
来隐藏所有这些错误消息。