note 87859 modified in function.mysql-fetch-assoc by danbrown

From: Date: Sat, 27 Dec 2008 16:55:33 +0000
Subject: note 87859 modified in function.mysql-fetch-assoc by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-148578@lists.php.net to get a copy of this message
Here's a nifty function to copy a whole table to another table. Takes as its arguments $z -> the result of a SQL query with columns matching the table you're copying into. $toTable -> string name of the table to copy into. $link_identifier -> the db resource of the table you're copying into. If anyone can find a faster way to do this, I'd be glad to know about it... <?php function mysql_multirow_copy($z,$toTable,$link_identifier) { $fields = ""; for ($i=0;$i<mysql_num_fields($z);$i++) { if ($i>0) { $fields .= ","; } $fields .= mysql_field_name($z,$i); } $q = "INSERT INTO $toTable ($fields) VALUES"; $c = 0; mysql_data_seek($z,0); //critical reset in case $z has been parsed beforehand. ! while ($a = mysql_fetch_assoc($z)) { foreach ($a as $as) { $a[key($a)] = addslashes($as); next ($a); } if ($c>0) { $q .= ","; } $q .= "('".implode(array_values($a),"','")."')"; $c++; } $q .= ";"; $z = mysql_query($q,$link_identifier); return ($q); } ?> --was-- Here's a nifty function to copy a whole table to another table. Takes as its arguments $z -> the result of a SQL query with columns matching the table you're copying into. $toTable -> string name of the table to copy into. $link_identifier -> the db resource of the table you're copying into. If anyone can find a faster way to do this, I'd be glad to know about it... function mysql_multirow_copy($z,$toTable,$link_identifier) { $fields = ""; for ($i=0;$i<mysql_num_fields($z);$i++) { if ($i>0) { $fields .= ","; } $fields .= mysql_field_name($z,$i); } $q = "INSERT INTO $toTable ($fields) VALUES"; $c = 0; mysql_data_seek($z,0); //critical reset in case $z has been parsed beforehand. ! while ($a = mysql_fetch_assoc($z)) { foreach ($a as $as) { $a[key($a)] = addslashes($as); next ($a); } if ($c>0) { $q .= ","; } $q .= "('".implode(array_values($a),"','")."')"; $c++; } $q .= ";"; $z = mysql_query($q,$link_identifier); return ($q); } http://php.net/manual/en/function.mysql-fetch-assoc.php

« previous php.notes (#148578) next »