note 94181 added to function.mysql-query

From: Date: Wed, 21 Oct 2009 11:49:09 +0000
Subject: note 94181 added to function.mysql-query
Groups: php.notes 
Request: Send a blank email to php-notes+get-161935@lists.php.net to get a copy of this message
<?php /* * If `ve made a fast way to * get a sql statement out of a array * Just give an array to the function with * your Keys (sql) and the * values in the other array * * array('keys'=>array('key','key2','key3'), 'values'=>array( array('test','test2','test3'), array('best','best2','best3'), array('nest','nest2','nest3'), ) ); * * returns: * insert: "(key,key2,key3)VALUES ('test','test2','test3'), ('best','best2','best3'), ('nest','nest2','nest3')" * Update: "SET key='test', key2='test2', key3='test3'" * * */ $params=array('keys'=>array('key','key2','key3'), 'values'=>array( array('test','test2','test3'), array('best','best2','best3'), array('nest','nest2','nest3'), ) ); echo array2Sql($params,'insert'); function array2Sql($params=array(),$mod='insert') { #make it uniform (for insert, if only an pure array given) if(!is_array($params['values']['0'])){ $new['values']['0']=$params['values']; $params['values']= $new['values']; } switch($mod){ case'insert': $vals=array(); $keys='('.join(',',$params['keys']).')'; foreach($params['values'] as $k=>$v){ $vals[]='(\''.join('\', \'',$v).'\')'; } $vals=implode(',', $vals); return $sql=$keys.'VALUES '.$vals; case'update': $sets=array(); $i=0; foreach($params['values']['0'] as $k=>$v){ $sets[]=''.$params['keys'][$i].'=\''.$v.'\''; $i++; } return $sql='SET '.implode(', ',$sets); } return false; } ?> ---- Server IP: 212.124.37.9 Probable Submitter: 78.52.167.7 ---- Manual Page -- http://www.php.net/manual/en/function.mysql-query.php Edit -- https://master.php.net/note/edit/94181 Del: integrated -- https://master.php.net/note/delete/94181/integrated Del: useless -- https://master.php.net/note/delete/94181/useless Del: bad code -- https://master.php.net/note/delete/94181/bad+code Del: spam -- https://master.php.net/note/delete/94181/spam Del: non-english -- https://master.php.net/note/delete/94181/non-english Del: in docs -- https://master.php.net/note/delete/94181/in+docs Del: other reasons-- https://master.php.net/note/delete/94181 Reject -- https://master.php.net/note/reject/94181 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#161935) next »