Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 警告:mysql_num_rows()要求参数1为资源,给定布尔值_Php_Mysql - Fatal编程技术网

Php 警告:mysql_num_rows()要求参数1为资源,给定布尔值

Php 警告:mysql_num_rows()要求参数1为资源,给定布尔值,php,mysql,Php,Mysql,我不知道为什么它总是告诉我 mysql_num_rows()希望参数1是资源,布尔值在第44行的C:\xampp\htdocs\schedule2\course.php中给出 if(isset($_POST['course'])和&isset($_POST['coursedesc'])) { $course=$_POST['course']; $coursedesc=$_POST['coursedesc']; $query=mysql\u query(“SELECT*FROM.tb

我不知道为什么它总是告诉我

mysql_num_rows()希望参数1是资源,布尔值在第44行的C:\xampp\htdocs\schedule2\course.php中给出

if(isset($_POST['course'])和&isset($_POST['coursedesc']))
{       
$course=$_POST['course'];
$coursedesc=$_POST['coursedesc'];
$query=mysql\u query(“SELECT*FROM.tblurser.”其中CourseCode='''.$course'.'和CoursedDescription='.''.$coursedesc'.''”;
if(mysql_num_rows($query)>0)
{
回显“警报('数据已存在');”;
}否则{
如果(空($course)或空($coursedesc))
{
回声“
警报(\“所有字段均为必填项\”);
";
}否则{
if(mysql_查询(“插入到tblcourse值(“,$course”,“$coursedesc”)中”)
{
}否则{
回声“
警报(\“请重试\”);
";
}
}   
}
}

引用此处的文档:,mysql\u查询在某些情况下将返回false:

“如果用户没有访问查询引用的表的权限,mysql_query()也将失败并返回FALSE。”

此外,您可能有一个简单的单词“tblurser”,或者缺少一个“$”。这两种方法都应该得到修复。

plz check,如果出现问题,mysql\u查询将返回false(布尔值)。这将匹配您的错误消息(给出的是布尔值而不是资源)。您可以使用“mysql\u error()”检查最后一个错误


HTH,

您的查询失败了,您盲目地认为成功了,而现在事情已经爆炸了,您的代码正在缓慢前进,留下了混乱和破坏的痕迹。在您的文件“course.php”的第44行,您有
mysql_num_rows()
,它希望参数1是资源,您提供了一个boolean@amal-不,他错过了美元。而且,您不必引用表名将tblurser更改为$tblurser。通过使用外部变量构建SQL语句,您将面临SQL注入攻击。此外,任何带有单引号的输入数据,如“O'Malley”的名称,都会破坏您的SQL查询。请了解如何使用参数化查询(最好是PDO模块)来保护您的web应用程序。有很多例子让你开始学习,还有很多详细的例子。哦,谢谢,我该怎么办?再次感谢:)不幸的是,我无法说出查询失败的原因。tblurser您的表名正确吗?如果是这样,请将查询从“SELECT*from”.tblurser.…”更改为“SELECT*from tblurser…”。否则,可能会丢失一个“$”?谢谢,我输入了错误的表格:))应该是tblcourse
if(isset ($_POST['course']) && isset($_POST['coursedesc']))
{       

        $course = $_POST['course'];
        $coursedesc = $_POST['coursedesc'];

        $query = mysql_query("SELECT * FROM ".tblurser." WHERE CourseCode ='".$course."' and CourseDescription = '".$coursedesc."'");
        if(mysql_num_rows($query) > 0)
        {
            echo"<script>alert('Data already exist.');</script>";
                                }else{
                                if(empty($course) or empty($coursedesc))
                                {
                                    echo "<script>

                                            alert(\"all fields are required \");

                                        </script>";
                                }else{
                                    if(mysql_query("INSERT INTO tblcourse VALUES('','$course','$coursedesc')"))
                                    {
                                    }ELSE{
                                        echo"<script>

                                            alert(\"Please try again\");

                                            </script>";
                                    }
                                }   
                            }

            }