我的数据库中有一个名为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>
答案 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";
这是一个简单的错误