Backing up entire mysql database using php -


i have code found have problem trying work... says there no file , directory, mean , how can fix it? how adapt code backup whole database , not table:

<?php     $servername = ""; //this local server name      $username   = ""; // mysql username database     $password   = ""; // database password     $database   = ""; //this database name      $conn = new mysqli($servername, $username, $password, $database); //this create connection database     if(! $conn ) {       die('could not connect: ' . mysql_error());    }     $table_name = "activities";    $backup_file  = "/tmp/activities.sql";    $sql = "select * outfile '$backup_file' $table_name";     mysql_select_db('');    $retval = mysql_query( $sql, $conn );     if(! $retval ) {       die('could not take data backup: ' . mysql_error());    }     echo "backedup  data successfully\n";     mysql_close($conn); ?> 

updated code:

    $conn = new mysqli($servername, $username, $password, $database); //this create connection database     if(! $conn ) {       die('could not connect: ' . mysqli_error());    }     $table_name = "activities";    $backup_file  = "/tmp/activities.sql";    $sql = "select * outfile '$backup_file' $table_name";     mysqli_select_db('');    $retval = mysqli_query( $sql, $conn );     if(! $retval ) {       die('could not take data backup: ' . mysqli_error());    }     echo "backedup  data successfully\n";     mysqli_close($conn); ?> 

you don't need mysqli_select_db(''); declared database in 4th parameter.

then ( $sql, $conn ); connection comes first ( $conn, $sql );.

then mysqli_error() requires connection paramter mysqli_error($conn).

here's rewrite , fill in 4 parameters respectively 4 variables connection.

<?php   $servername = ""; //this local server name  $username   = ""; // mysql username database $password   = ""; // database password $database   = ""; //this database name  $conn = new mysqli($servername, $username, $password, $database); //this create connection database     if(! $conn ) {       die('could not connect: ' . mysqli_error($conn));    }     $table_name = "activities";    $backup_file  = "/tmp/activities.sql";    $sql = "select * outfile '$backup_file' $table_name";     $retval = mysqli_query( $conn, $sql );     if(! $retval ) {       die('could not take data backup: ' . mysqli_error($conn));    }  else {    echo "backed data successfully\n"; }     mysqli_close($conn); ?> 

if have further problems, see mysqli_error($conn) throws , use error reporting should path file not correct, make sure php can read file , folder/file have right permissions set.

add error reporting top of file(s) find errors.

<?php  error_reporting(e_all); ini_set('display_errors', 1);  // rest of code 

sidenote: displaying errors should done in staging, , never production.


Comments