[wp-hackers] Better insert and update
Matt Mullenweg
m at mullenweg.com
Mon May 15 16:14:48 GMT 2006
Proposal:
function insert($tbl, $hash){
$fields = array_keys($hash);
$this->query("INSERT INTO $tbl (`".implode('`,`',$fields)."`) VALUES
('".implode("','",$hash)."')");
return $this->insert_id;
}
function update($tbl, $hash, $where){
$bits = array();
foreach( array_keys($hash) as $k )
$bits[] = "`$k`='$hash[$k]'";
return $this->query("UPDATE $tbl SET ".implode(', ',$bits)." WHERE
$where");
}
In the $wpdb object. We could also move all escaping to this level, but
that's a separate issue.
It's a bit of code I got from Flickr Cal on something we collaborated
on, I've been using it in another project and it feels clean.
$wpdb->insert( 'table', array( 'this' => 'that', 'and => 'another' ) );
$wpdb->update( $wpdb->posts, array( 'comment_count' => 0 ), "ID = $id");
--
Matt Mullenweg
http://photomatt.net | http://wordpress.org
http://automattic.com | http://akismet.com
More information about the wp-hackers
mailing list