关于mysql_query的问题,百思不得其解,望高手回答!

业余的CODER 2008-04-18 02:24:54

<?php
require_once('./mysql_class.php');
$db = new DataBase();
$db->connect('127.0.0.1', 'root', 'qy7ttvj7vg', 'test');
$nowtime = time();
$subtime = $nowtime-15*60;
$sql = 'delete from online where activetime<'.$subtime;
$db->query($sql);
if(!isset($_COOKIE['username']) || $_COOKIE['username'] == '访客'){
setcookie('username','访客');
$log = 'logout';
}
else{
$log = 'login';
}
$username = $_COOKIE['username'];
$sql = 'select * from online where ipaddr=\''.$_SERVER['REMOTE_ADDR'].'\'';
echo ($query = $db->query($sql))?'YES<br/>':'NO<br/>'; //这里返回值是 TRUE
if($db->num_rows($query)>0){
$sql = 'update online set username=\''.$username.'\', activetime='.$nowtime.' where ipaddr=\''.$_SERVER['REMOTE_ADDR'].'\'';
}
else{
$sql = 'insert into online (ipaddr, username, logintime, activetime) values (\''.$_SERVER['REMOTE_ADDR'].'\', \''.$username.'\', '.$nowtime.', '.$nowtime.')';
}
echo $sql;
echo db->query($sql)?'<br/>YES':'<br/>NO'; //问题:这里为什么返回值是FALSE??百思不得其解,望高手回答!
?>
//下面是 数据库类的一部分
class DataBase{
var $link; //连接号
//连接数据库 connect('127.0.0.1', 'root', 'pass', 'dbname', 3306)
function connect($dbhost, $dbuser, $dbpass, $dbname = '', $dbport = 3306){
if(!$this->link = @mysql_connect($dbhost, $dbuser, $dbpass)){
echo 'Can not connect to MYSQL server.';
exit();
}
if($dbname){
@mysql_select_db($dbname, $this->link);
}
}
function query($sql){ //向MYSQL数据库发出$sql语句
return @mysql_query($sql, $this->link);
}
}
...全文
67 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
业余的CODER 2008-05-24
找到原因了:加上$db->query('set names \'gb2312\'');就可以了!!!

不过还是谢谢各位!!
回复
ten789 2008-04-18
用MYSQL工具执行SQL语句试试再下定义
回复
业余的CODER 2008-04-18
楼上的两位, 那里面都没有错误, 我检查一下好像是,数据库不支持中文, 所以写入失败!! 谢谢各位了。
回复
wwx840723 2008-04-18
改下這裡試試:


if($db->num_rows($query)>0){
$sql = 'update online set username=\''.$username.'\', activetime=\''.$nowtime.'\' where ipaddr=\''.$_SERVER['REMOTE_ADDR'].'\'';
}
else{
$sql = 'insert into online (ipaddr, username, logintime, activetime) values (\''.$_SERVER['REMOTE_ADDR'].'\', \''.$username.'\', \''.$nowtime.'\', \''.$nowtime.'\')';
}
回复
faisun 2008-04-18
echo db->query($sql)?'<br/>YES':'<br/>NO';

不是少了 $ 吗?

echo $db->query($sql)?'<br/>YES':'<br/>NO';
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2008-04-18 02:24
社区公告
暂无公告