我正在我的一个网站上制作一个迷你社交网络,这样用户就有了“朋友”之类的东西。
我的表如下所示:
| id | f1 | f2 | status |
----------------------------------------------
| 000001 | username1 |username2| 0 |
| 000002 | username4 |username7| 1 |
我必须写一个查询来检查他们是否是朋友,但问题是:1 个人可能在其中一个f1 OR f2
。
这有点来自 profile.php 文件,该文件$_GET'ing ?u
作为用户名,向服务器查询用户名并获取关联数组。
我在 上查找了查询语法OR
,并编写了一个查询(失败):
<?
session_start(); /* If you want to take a look at *some* of the earlier code */
$connect1 = mysql_connect("localhost", "xxxxx", "xxxxxx") or die(mysql_error());
mysql_select_db("txclanco_xxxxx") or die(mysql_error());
if(isset($_GET['u']))
{
$username = mysql_real_escape_string($_GET['u']);
$data = mysql_query("SELECT * FROM users WHERE username='$username'");
if(mysql_num_rows($data)===1)
{
$result = mysql_fetch_assoc($data);
$firstname = $result['firstname']; }
$user = $_SESSION['username'];
/* 这里有更多不相关的代码 */
/* 好友校验位从这里开始 */
$friendcheck = mysql_query("SELECT * FROM friends WHERE (f1='$username' AND f2='$user') OR (f1='$user' AND 'f2='$username')");
if(mysql_num_rows($friendcheck)===1)
{
$fa = mysql_fetch_assoc($data);
$fstatus = $fa['status'];
$addstring = "";
}
else { $addstring = "<a href='#' id='".$username."' class='addfriend'>add as friend</a>"; }
?>
然后稍后在页面中,我们显示朋友状态:
<?
if($user==$username) {
echo "nice profile you got here :)";
$fstatus = "asd";
}
if($fstatus==0) {
echo "friend request sent";
}
echo $addstring;
?>
此代码返回:
<b>Warning</b>: mysql_num_rows(): supplied argument is not a valid MySQL result resource in <b>/home/txclanco/public_html/hotmuze/beta/profile.php</b> on line <b>56</b><br />
我认为这意味着$friendcheck
查询是错误的。
有任何想法吗?
谢谢!