我一直在尝试为访问页面的男性用户数量创建报告

时间:2015-03-13 04:13:33

标签: php html mysql

我的数据库中有一个名为gender的列,它通过单选按钮(男性和女性)插入值。
mysql_num_rows()期望参数1为资源,第63行的C:\wamp\www\PHP\mysqlex.php中给出布尔值 行
每次我尝试调试时都会遇到上述错误。

这是我的代码:

 </form>
</fieldset> 
</div>
<?php
        if(Isset($_POST['submit']))
        {

            $d=$_POST['rollno'];
            $c=$_POST['name'];
            $f=$_POST['sex'];
        $host="localhost";
        $user="root";
        $password="";
        $db="bcaa"; 
            $conn=mysql_connect("localhost","root","","bcaa"); 
            if(!$conn){
                die("error in line 1".mysql_connect_error());
            }
                echo "connection successful";

            mysql_select_db("bcaa",$conn);
                $dbw=mysql_query("Insert into student(rollnumber,Name,gender) values('$d','$c','$f')",$conn) or die(mysql_error());
                if(!$dbw)
                {
                    echo "Error";
                }
                    echo "sucess";

                    $dbf=mysql_query("select * from student",$conn) or die(mysql_error());
            while ($row=mysql_fetch_array($dbf))
            {
                echo "EMP roll number :{$row['rollnumber']}  <br> ".
         "EMP NAME : {$row['Name']} <br> ".
         "EMP gender : {$row['gender']} <br> ".
         "--------------------------------<br>";

            }

$result = mysql_query("SELECT * FROM student Where gender=%male%");
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows\n";





        mysql_close($conn);
        }

            ?>


</body>
</html>            

2 个答案:

答案 0 :(得分:0)

由于某些原因您的查询失败,返回false,导致该错误消息几乎始终

所以你把那个假值传递给另一个电话,它会抱怨。

在你的情况下,错误就在这里:

$result = mysql_query("SELECT * FROM student Where gender=%male%");
$num_rows = mysql_num_rows($result);

您正在运行的查询无效。首先,它是一个你要比较的字符串值,因此它应该用引号括起来。

其次,如果您需要通配符支持,则应使用like而不是=。但是,like选项可能是一个错误,因为它还会选择性别为female的行,因为其中包含male

如果你尝试的话,你可能会有更多的运气:

$result = mysql_query("SELECT * FROM student Where gender = 'male'");

答案 1 :(得分:0)

$result = mysql_query("SELECT * FROM student Where gender='male'");
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows\n";

这是一个简单的错误