Php mysql_num_rows()希望参数1是资源,布尔值
我不断地发现这个错误: mysql_num_rows()希望参数1是资源,布尔值在 /第80行的home/u592632722/public_html/profile.php 我想不出怎么解决它。这是我的Php mysql_num_rows()希望参数1是资源,布尔值,php,mysql,rows,mysql-num-rows,Php,Mysql,Rows,Mysql Num Rows,我不断地发现这个错误: mysql_num_rows()希望参数1是资源,布尔值在 /第80行的home/u592632722/public_html/profile.php 我想不出怎么解决它。这是我的profile.phpcode: <?php error_reporting (E_ALL ^ E_NOTICE); session_start(); $userid = $_SESSION['userid']; $name = $_SESSION['na
profile.php
code:
<?php
error_reporting (E_ALL ^ E_NOTICE);
session_start();
$userid = $_SESSION['userid'];
$name = $_SESSION['name'];
$username = $_SESSION['username'];
$user = $_GET['user'];
$title = "$user";
?>
<?php
$user = $_GET['user'];
require("./connect.php");
$query = mysql_query("SELECT * FROM user WHERE username='$user'");
$numrows = mysql_num_rows($query);
echo $numrows;
if ($numrows == 1){
$title = "$user";
$row = mysql_fetch_assoc($query);
$dbid = $row['id'];
$user = $row['username'];
$dbname = $row['name'];
$dbactive = $row['active'];
$dbdate = $row['date'];
echo "<h1 align='center'>$user's profile page</h1>";
if($dbactive == 1){
$active = "yes";
}
else{
$active = "no";
}
if ($userid && $username){
$query = mysql_query("SELECT * FROM friends WHERE (user_one='$user' and user_two='$username') or (user_one='$username' and user_two='$user')");
$numrows = mysql_num_rows($query);
if ($numrows == 1){
echo "
<center>
<table style='border:2px solid black; font-size:36px;' bgcolor='red'>
<ul>
<tr>
<td style='border:1px solid black;'>name:</td>
<td style='border:1px solid black;'>$dbname</td>
</tr>
<tr>
<td style='border:1px solid black;'>username:</td>
<td style='border:1px solid black;'>$user</td>
</tr>
<tr>
<td style='border:1px solid black;'>frends:</td>
<td style='border:1px solid black;'>yes</td>
</tr>
<tr>
<td style='border:1px solid black;'>date joined:</td>
<td style='border:1px solid black;'>$dbdate</td>
</tr>
<tr>
<td style='border:1px solid black;'>activated:</td>
<td style='border:1px solid black;'>$active</td>
</tr>
</ul>
</table>
</center>";
}
else{
$query = mysql_query("SELECT id FROM friend_req WHERE from='1' and to='1'");
echo "Mysql query: $query";
echo "</br>";
$numromws = mysql_num_rows($query);
echo "Mysql numrows: $numrows";
if ($numromws == "1"){
echo "
<center>
<table style='border:2px solid black; font-size:36px;' bgcolor='red'>
<ul>
<tr>
<tr>
<td style='border:1px solid black;'>name:</td>
<td style='border:1px solid black;'>$dbname</td>
</tr>
<tr>
<td style='border:1px solid black;'>username:</td>
<td style='border:1px solid black;'>$user</td>
</tr>
<tr>
<td style='border:1px solid black;'>friends:</td>
<td style='border:1px solid black;'>waiting for friend request confirmation</td>
</tr>
<tr>
<td style='border:1px solid black;'>date joined:</td>
<td style='border:1px solid black;'>$dbdate</td>
</tr>
<tr>
<td style='border:1px solid black;'>activated:</td>
<td style='border:1px solid black;'>$active</td>
</tr>
</ul>
</table>
</center>";
}
else{
$query = mysql_query("SELECT * FROM friend_req WHERE 'from'='$user' AND 'to'='$username'");
$numromws = mysql_num_rows($query);
if ($numromws == "1"){
echo "
<center>
<table style='border:2px solid black; font-size:36px;' bgcolor='red'>
<ul>
<tr>
<tr>
<td style='border:1px solid black;'>name:</td>
<td style='border:1px solid black;'>$dbname</td>
</tr>
<tr>
<td style='border:1px solid black;'>username:</td>
<td style='border:1px solid black;'>$user</td>
</tr>
<tr>
<td style='border:1px solid black;'>frends:</td>
<td style='border:1px solid black;'><form method='post' action='./$user'><input type='submit' name='acceptfriendreq' value='accept friend request' /></form></td>
</tr>
<tr>
<td style='border:1px solid black;'>date joined:</td>
<td style='border:1px solid black;'>$dbdate</td>
</tr>
<tr>
<td style='border:1px solid black;'>activated:</td>
<td style='border:1px solid black;'>$active</td>
</tr>
</ul>
</table>
</center>";
}
else{
echo "
<center>
<table style='border:2px solid black; font-size:36px;' bgcolor='red'>
<ul>
<tr>
<td style='border:1px solid black;'>name:</td>
<td style='border:1px solid black;'>$dbname</td>
</tr>
<tr>
<td style='border:1px solid black;'>username:</td>
<td style='border:1px solid black;'>$user</td>
</tr>
<tr>
<td style='border:1px solid black;'>frends:</td>
<td style='border:1px solid black;'><form method='post' action='./$user'><input type='submit' name='friendcreate' value='send friend request' /></form></td>
</tr>
<tr>
<td style='border:1px solid black;'>date joined:</td>
<td style='border:1px solid black;'>$dbdate</td>
</tr>
<tr>
<td style='border:1px solid black;'>activated:</td>
<td style='border:1px solid black;'>$active</td>
</tr>
</ul>
</table>
</center>";
}
}
}
}
else{
echo "
<center>
<table style='border:2px solid black; font-size:36px;' bgcolor='red'>
<ul>
<tr>
<td style='border:1px solid black;'>name:</td>
<td style='border:1px solid black;'>$dbname</td>
</tr>
<tr>
<td style='border:1px solid black;'>username:</td>
<td style='border:1px solid black;'>$user</td>
</tr>
<tr>
<td style='border:1px solid black;'>date joined:</td>
<td style='border:1px solid black;'>$dbdate</td>
</tr>
<tr>
<td style='border:1px solid black;'>activated:</td>
<td style='border:1px solid black;'>$active</td>
</tr>
</ul>
</table>
</center>";
}
}
elseif ($user == ""){
$title = "profile page";
echo "<h1 align='center'>Profile page</h1>";
if($userid && $username){
echo "<h1 align='center'>my profile</h1>";
$query = mysql_query("SELECT * FROM user WHERE username='$username'");
$title = "$username";
$row = mysql_fetch_assoc($query);
$dbid = $row['id'];
$dbname = $row['name'];
$dbactive = $row['active'];
$dbdate = $row['date'];
if($dbactive == 1){
$active = "yes";
}
else{
$active = "no";
}
echo "
<center>
<table style='border:2px solid black; font-size:36px;' bgcolor='red'>
<ul>
<tr>
<td style='border:1px solid black;'>name:</td>
<td style='border:1px solid black;'>$dbname</td>
</tr>
<tr>
<td style='border:1px solid black;'>username:</td>
<td style='border:1px solid black;'>$username</td>
</tr>
<tr>
<td style='border:1px solid black;'>date joined:</td>
<td style='border:1px solid black;'>$dbdate</td>
</tr>
<tr>
<td style='border:1px solid black;'>activated:</td>
<td style='border:1px solid black;'>$active</td>
</tr>
</ul>
</table>
</center>";
}
}
else {
$title = "profile page";
echo "<h1 align='center'>the user does not exsist</h1>";
}
mysql_close();
?>
代码中可能有两个问题
首先,变量$user可能为空。因此,如果它为null,则测试它
第二个可能是,您没有连接到mysql。你可以这样纠正它
from='1'和to='1'“”
您正在使用两个保留字。-请注意:mysql_*函数非常不推荐使用。请使用mysqli_*或PDO@Bill卡温。我一直在争论这一个是否应该被用作replicate=>@Fred ii-,是的,这可能是本例中错误的根本原因,但是PHP开发人员需要学会检查错误。OP应该阅读两个答案。@BillKarwin的确,我同意这两个观点。问题不在于这些,而在于弗雷德-二世所说的
<?php
mysql_connect("mysql.freehostingnoads.net", "u592632722_mat", "password");
mysql_select_db("u592632722_info");
?>
<?php
if(empty($user)){
//do not continue;
}
?>
<?php
$con = mysql_query($host,$user,$password);
if($con == false)
//do not continue;
if(!mysql_select_db($db))
//do not continue;
?>
<?php
$query = mysql_query("SELECT * FROM `user` WHERE `username` = '{$username}'");
//make sure $username is not empty
if($query == false)
//mysql_query returned false, because your query is not correct
?>