php实现mysql多表更新

作者:norion时间:2013年9月27日评论次数:0 条

刚接触php不久,对于php+mysql也是相对陌生,之前都是关注在前端方向,为了拓展知识面,趁现在比较有时间小研究一下,下面更大家分享一下php多表更新的实现,写的不对的请以留言的形式指出。

多表更新关键还是要数据库支持,下面这句就是多表更新的核心所在:

UPDATE z_post p,z_cat c SET p.post_type = c.cat_id

网上找了很多关于多表更新的资料,可是phpMyAdmin就是执行不过去,如在update语句后用from,就报错,好了下面给大家贴一下代码:

/*
 * 修改(支持多表)
 * @param {string} 表名,多表用‘,’逗号隔开
 * @param {array} 插入表的数据
 * @param {string} 修改数据的条件
 * @param {boolean} debug
 */
function update($table, $values, $condition, $debug=false){
	$v     = '';
	$str   ='';
	$table = explode(",", $table);
	foreach ($table as $value) {
		$str .= table($value);
	}
	foreach($values as $key=>$value){
		$v .= $v ? " ,`$key`='$value'" : "`$key`='$value'";
	}
	$sql = "UPDATE `$str` SET $v WHERE $condition";
	if($debug){
		return print_r($sql);
	}
	return mysql_query($sql);
}

标签:

上一篇: 自己封装的简单的php分页类,支持伪静态替换

下一篇:从DZ拔下来的获取$_GET、$_POST、$_COOKIE变量的方法

相关文章

评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注