【问题标题】:mysql_num_rows expects parameter 1 to be resource [duplicate]mysql_num_rows 期望参数1是资源[重复]
【发布时间】:2014-02-27 21:14:07
【问题描述】:

每次我尝试使用此脚本创建帐户时,都会收到以下错误:“警告: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";
}
}
}
?>

【问题讨论】:

  • 还是想不通

标签: php mysql boolean mysql-num-rows


【解决方案1】:

您也必须在 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 扩展名已过时,应使用新的mysqli 扩展名或PDO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 2011-03-26
    相关资源
    最近更新 更多