Using SQL IN Operator with PHP Array

Using SQL IN operator with PHP array

Suppose we have a array named ‘id_array’ which contains id’s. Now, in order to get all the records from our MySQL table using this array of id, we can use the below given code :


SELECT * FROM TABLE WHERE id IN (".implode(',',$id_array).")

Backup MySQL Database Using PHP

Here is the full script to create a backup of your MySQL database using PHP :

backup_tables('localhost','username','password','database');

/* backup the db OR just a table */

function backup_tables($host,$user,$pass,$name,$tables = '*'){

$link = mysql_connect($host,$user,$pass);

mysql_select_db($name,$link);

//get all of the tables

if($tables == '*') {

$tables = array();

$result = mysql_query('SHOW TABLES');

while($row = mysql_fetch_row($result)) {

$tables[] = $row[0];

}

}

else {

$tables = is_array($tables) ? $tables : explode(',',$tables);

}

//cycle through

foreach($tables as $table) {

$result = mysql_query('SELECT * FROM '.$table);

$num_fields = mysql_num_fields($result);

$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));

$return.= "\n\n".$row2[1].";\n\n";

for ($i = 0; $i < $num_fields; $i++) {

while($row = mysql_fetch_row($result)) {

$return.= 'INSERT INTO '.$table.' VALUES('; for($j=0; $j < $num_fields; $j++) {

$row[$j] = addslashes($row[$j]);

$row[$j] = ereg_replace("\n","\\n",$row[$j]);

if (isset($row[$j])) {

$return.= '"'.$row[$j].'"' ;

}

else {

$return.= '""';

}

if ($j < ($num_fields-1)) {

$return.= ',';

}

}

$return.= ");\n";

}

}

$return.="\n\n\n";

}

//save file

$handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');

fwrite($handle,$return);

fclose($handle);

}