由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
BuildingWeb版 - 请问php+mysql查询结果为什么总被保存?
相关主题
PHP: Mysql 得parse 问题PHP5+MYSQL的连接问题 undefined mysql_connect()
error in connecting PHP with MySQL求PHP网站开发程序员兼职
看看我的form问题Re: 用Servlet显示数据库里的数据,分页的? (很实际的问题)
PHP mysqli的too many connections的问题紧急请教,初级问题。
mysql windows xp 怎么没有 root?求助!
请教: mysql不能连接[转载] How to start IIS 5.0 in windows 2000 professional version.
A question on G6 ftp server.Apache 与persnoal web server冲突?
WebSocket问题急,TOMCAT4.0.3 上怎么把default port设成80?
相关话题的讨论汇总
话题: mysqli话题: uid话题: customer话题: res话题: connect
进入BuildingWeb版参与讨论
1 (共1页)
k*******p
发帖数: 8821
1
问一个问题,包子奉上給有用的解决办法。
有一段小代码,是在一个表Customer_table查询Customer_ID.如果这个id 存在则输出"
good",否则输出"bad".'gooduser'这个id是表中存在的,执行代码的结果是输出“good
"。假如我把$uid换成一个不存在的id,比如$uid='bdxhsbfhbfhc';结果还是输出"good"
.我如果新建一个php文件,初始一个不存在的id, $uid='bdxhsbfhbfhc';输出“bad".
我如果把$uid换成一个存在的id,比如$uid='gooduser',结果还是“bad".也就是第一
次的结果永远存下来了。这是为什么呢?
$mysqli = mysqli_connect("localhost", "root", "abcde", "table1");
if (mysqli_connect_errno()) {
printf("Connect failed: %sn", mysqli_connect_error());
exit();
}
else {
$uid='gooduser';
$sql="select * from Customer_table where Customer_ID = '".$uid."' ";
$res=mysqli_query($mysqli,$sql);
if ($res){
echo "good";
}
else
{
echo "bad";
}
}
mysqli_free_result($res);
mysql_cloase($mysqli);
?>
s****y
发帖数: 983
2
brower的cache,server的cache
g****z
发帖数: 1135
3
I think it's because mysqli_query returns a resultset (in case of select
statement) regardless of rows not being found. So "if($res)" always return
true. Use "if($res->num_rows >0)"

出"
good
good"

【在 k*******p 的大作中提到】
: 问一个问题,包子奉上給有用的解决办法。
: 有一段小代码,是在一个表Customer_table查询Customer_ID.如果这个id 存在则输出"
: good",否则输出"bad".'gooduser'这个id是表中存在的,执行代码的结果是输出“good
: "。假如我把$uid换成一个不存在的id,比如$uid='bdxhsbfhbfhc';结果还是输出"good"
: .我如果新建一个php文件,初始一个不存在的id, $uid='bdxhsbfhbfhc';输出“bad".
: 我如果把$uid换成一个存在的id,比如$uid='gooduser',结果还是“bad".也就是第一
: 次的结果永远存下来了。这是为什么呢?
: : $mysqli = mysqli_connect("localhost", "root", "abcde", "table1");
: if (mysqli_connect_errno()) {

k*******p
发帖数: 8821
4
谢谢!
包子已奉上。
也一样感谢2楼的回复。

【在 g****z 的大作中提到】
: I think it's because mysqli_query returns a resultset (in case of select
: statement) regardless of rows not being found. So "if($res)" always return
: true. Use "if($res->num_rows >0)"
:
: 出"
: good
: good"

p*****u
发帖数: 214
5
这是正解,不要判断返回结果,除非数据库出错或有问题res才会非true,另外最好在
取数目之前初始一下数目为0,然后
可以用$res->num_rows,看看返回记录是否为零来判断。

【在 g****z 的大作中提到】
: I think it's because mysqli_query returns a resultset (in case of select
: statement) regardless of rows not being found. So "if($res)" always return
: true. Use "if($res->num_rows >0)"
:
: 出"
: good
: good"

1 (共1页)
进入BuildingWeb版参与讨论
相关主题
急,TOMCAT4.0.3 上怎么把default port设成80?mysql windows xp 怎么没有 root?
ASP problem in IIS 5.0请教: mysql不能连接
ASP.NET问题:我不得不"hard code"吗?A question on G6 ftp server.
请问asp需要的IIS的缺省密码是什么呀WebSocket问题
PHP: Mysql 得parse 问题PHP5+MYSQL的连接问题 undefined mysql_connect()
error in connecting PHP with MySQL求PHP网站开发程序员兼职
看看我的form问题Re: 用Servlet显示数据库里的数据,分页的? (很实际的问题)
PHP mysqli的too many connections的问题紧急请教,初级问题。
相关话题的讨论汇总
话题: mysqli话题: uid话题: customer话题: res话题: connect