mysql_num_rows期望参数1是资源

时间:2014-02-27 21:14:08

标签: php mysql boolean mysql-num-rows

每次我尝试使用此脚本创建帐户时,都会收到以下错误:“警告:mysql_num_rows()期望参数1为资源,第16行的C:\ xampp \ htdocs \ registration.php中给出布尔值 记录成功插入“

我正在尝试检查帐户名是否已存在。

我在这个网站上做了很多搜索,但我似乎无法解决这个问题。

这是我的代码:

<?php
Include 'connect.php';
If(isset($_REQUEST['submit'])!='')
{
If($_REQUEST['Username']=='' || $_REQUEST['Password']=='')
{
Echo "please fill the empty field.";
}
Else
{
$result = mysql_query("SELECT Username FROM accounts WHERE Username =      ".$_REQUEST['Username']."");
$sql="insert into accounts(Username,Password) values('".$_REQUEST['Username']."',     '".$_REQUEST['Password']."')";
$res=mysql_query($sql);
if(!mysql_num_rows($result) >= 1)
{
Echo "Record successfully inserted";
}
Else
{
Echo "There is some problem in inserting record";
}
}
}
?>

1 个答案:

答案 0 :(得分:0)

你也必须在SQL中使用字符串引号。而不是

$result = mysql_query("SELECT Username FROM accounts 
WHERE Username =      ".$_REQUEST['Username']."");

使用

$result = mysql_query("SELECT Username FROM accounts 
WHERE Username = '".$_REQUEST['Username']."'");

请阅读有关SQL查询的安全性的内容。请注意,mysql扩展程序是obsolet,而且应该使用新的mysqli扩展名或PDO