关于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);
}
}
...全文
116 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
业余的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';

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧