刚接触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);
}