mysql_affect_array_我的代码如下所示,只有mysql_affected_rows()不起效果

本人win8系统,带软件迈克菲。apache版本2.2.22,php版本5.4.3,mysql版本5.5.24的整合安装包,因为过年,所以我将之前完全没问题的代码压缩包后带回家中用新的电脑继续完善,然而却出...

本人win8系统,带软件迈克菲。apache版本2.2.22,php版本5.4.3,mysql版本5.5.24的整合安装包,因为过年,所以我将之前完全没问题的代码压缩包后带回家中用新的电脑继续完善,然而却出现了问题,我已经一步一步打印结果,直到$res = mysql_query($sql)都没问题,且我打印过$sql的语句直接在mysql里执行,也执行成功并返回affected rows有影响行数,然则在进行判断时,如果只有$res则返回成功,而加上mysql_affected_rows()则失败,但是失败情况下也已删除数据,我就想了,既然删除了数据那$res肯定已经执行成功,既然如此,那mysql_affected_rows()应该有值才对,为何会失败呢?

header('Content-type:text/html;charset=utf-8');

define('SQLIP','127.0.0.1');

define('SQLID','root');

define('SQLPASS','');

define('DBNAME','xm');

define('DACHARSET','utf8');

define('TOP','bbs_');

function connect(){

//连接数据库

$link = mysql_connect(SQLIP,SQLID,SQLPASS);

//判断连接是否成功

if(mysql_errno()){

echo '连接数据库失败'.mysql_error();

return false;

}

//选择数据库

mysql_select_db(DBNAME);

//设置字符集

mysql_set_charset(DBCHARSET);

return $link;

}

$link = connect();

//接收要删除数据的ID 即有getid也有postid 使用request来接收进行判断

$id = $_REQUEST['id'];

$mul = $_REQUEST['mul'];

// 如果是数组,则进行分割

if(is_array($id)){

$id = implode(',',$id);

}

// 如传过来是id=1,3,5,7的数组,分割后既是1,3,5,7的字符串

// 然后将其放在in()里,即可变成id in(1,3,5,7);也就是删除id为1,id为3.....的数据

// 如果不是数组则直接接收直接删除单个id

if($mul == 1){

$sql = "delete u,d from ".TOP."user u left join ".TOP."user_detail d on u.id=d.uid where u.id in({$id})";

}else{

$sql = "delete from ".TOP."user where id in({$id})";

}

// 执行删除

$res = mysql_query($sql);

//判断执行结果

if($res && mysql_affected_rows()){

echo '';

}else{

echo '';

}

//关闭资源

mysql_close($link);

?>

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值