-5

警告:mysql_num_rows():提供的参数不是第 12 行 /home/a2121694/public_html/cbox/fb_lib/connect.php 中的有效 MySQL 结果资源

会话 ID 无效

任何人都知道要修复我的错误,我一直在尝试这个,但我无法解决它。知识匮乏呵呵

<?php
require './fb_connect.php';
include('../config.php');
$fb = new fbConnect();
if(!$fb->output) {
header("Location:".$fb->getLoginUrl());
} else {




$userInfo = $fb->getUserInfo();
$_SESSION['ses_id'] = md5(microtime());
$user = mysql_query("SELECT * FROM `".DB_PREFIX."user_accounts` WHERE `fbid`='".$userInfo['id']."'");
$buid = $userInfo['id'];
if(mysql_num_rows($user)>0) {
$userdata = mysql_fetch_assoc($user);
if($userdata['last_request_time']<=(time()-10800)) {
mysql_query("INSERT INTO `".DB_PREFIX."chats` VALUES('','Hello ! Welcome back to ".GLOBAL_NAME.", <b> ".$userdata['fbname']." </b><img src=\'http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/6.gif\'> You\'re Back! :)<br/><a href=\'http://www.barkadafm.net/view.php?link=http://www.txtmyt.com\' target=\'_blank\'><img src=\'http://bfm.chatmode.info/images/txtmyt.png\' width=\'480px\' alt=\'Free Unlimited Text to All Networks @ TXTMYT.COM\'/></a>','164790013558517','normal','".time()."')");
}
mysql_query("UPDATE `".DB_PREFIX."user_accounts` SET
`gender` = '".$userInfo['gender']."',
`ses_id` = '".$_SESSION['ses_id']."',
`active` = '1',
`sign_time` = CURRENT_TIMESTAMP,
`last_request_time` = '".time()."',
`ip_address` = '".$_SERVER['REMOTE_ADDR']."'
WHERE `fbid`='".$userInfo['id']."'");



} else {
mysql_query("INSERT INTO `".DB_PREFIX."user_accounts` VALUES('',
'".$userInfo['id']."',
'".$userInfo['name']."',
'".$userInfo['gender']."',
'0',
'".$_SESSION['ses_id']."',
'1',
CURRENT_TIMESTAMP,
'".time()."',
'".$_SERVER['REMOTE_ADDR']."','0','0')");
mysql_query("INSERT INTO `".DB_PREFIX."chats` VALUES('','Lets all Welcome,<b> ".$userInfo['name']." </b>:) Welcome sa BarkadaFM! <img src=\'http://l.yimg.com/us.yimg.com/i/mesg/emoticons7/6.gif\'><br/><a href=\'http://www.barkadafm.net/view.php?link=http://www.txtmyt.com\' target=\'_blank\'><img src=\'http://bfm.chatmode.info/images/txtmyt.png\' width=\'480px\' alt=\'Free Unlimited Text to All Networks @ TXTMYT.COM\'/></a>','164790013558517','normal','".time()."')");
}
if(isset($_SESSION['ses_id'])) {
$getUserInfo = mysql_query("SELECT * FROM `".DB_PREFIX."user_accounts` WHERE `ses_id`='".$_SESSION['ses_id']."'");
if(mysql_num_rows($getUserInfo)>0) {
while($data=mysql_fetch_assoc($getUserInfo)) {
$_SESSION['fbid'] = $data['fbid'];
$_SESSION['name'] = $data['fbname'];
$_SESSION['gender'] = $data['gender'];
$_SESSION['acctype'] = $data['acctype'];
}
} else {
die("Invalid Session ID");
}
?>
<script>
window.opener.location.href="../index.php";
self.close();
</script>
<?php
  }
 }
  ?>
4

2 回答 2

-1

代替:

$user = mysql_query("SELECT * FROM `".DB_PREFIX."user_accounts` WHERE `fbid`='".$userInfo['id']."'");

$sql = "SELECT * FROM `".DB_PREFIX."user_accounts` WHERE `fbid`='".$userInfo['id']."'";

$result = mysql_query($sql);
if (!$result) {
    $message  = '<b>Invalid query:</b><br>' . mysql_error() . '<br><br>';
    $message .= '<b>Whole query:</b><br>' . $sql . '<br><br>';
    die($message);
}

该错误很可能是在您的 SQL 语句中导致 MySQL 错误,这将告诉您是哪一个。

于 2013-05-30T06:19:58.473 回答
-1

这个查询正确吗?因为如果不是并返回错误,那么您的下一行将不起作用。

$getUserInfo = mysql_query("SELECT * FROM `".DB_PREFIX."user_accounts` WHERE `ses_id`='".$_SESSION['ses_id']."'");

尝试在查询后回显 mysql_error()。

顺便说一下,你可能想看看 mysqli。

于 2013-05-30T06:14:28.820 回答