35

I have the php code for sql query

<?
$server = "127.0.0.1";
$username = "root";
$password = "1";

$link= connecttodb($server,$username,$password);

function connecttodb($server,$username,$password)
{

    $rez=fopen("test.txt","ab");
    if ($link=mysql_connect ("$server","$username","$password",TRUE))
    {
        fwrite($rez,"".$server." \r\n");
     echo "Connected successfully to >> " .$server ;
  
  $result = mysql_query('SHOW DATABASES');
        echo "<br>";
        while ($row = mysql_fetch_array($result))
        {
            var_dump ($row); }
     }
    }
    ini_set('max_execution_time', 10);
    return $link;
?>

this code print my database name on the browser how I can save the database name into text file

Connected successfully to >> 127.0.0.1
array(2) { [0]=> string(18) "information_schema" ["Database"]=> string(18) "information_schema" } array(2) { [0]=> string(2) "db" ["Database"]=> string(2) "db" } array(2) { [0]=> string(5) "mysql" ["Database"]=> string(5) "mysql" } array(2) { [0]=> string(10) "phpmyadmin" ["Database"]=> string(10) "phpmyadmin" } array(2) { [0]=> string(4) "test" ["Database"]=> string(4) "test" }
RiggsFolly
  • 93,638
  • 21
  • 103
  • 149
Yasser Abo Reida
  • 353
  • 1
  • 4
  • 8
  • 1
    If you initiate a connection to the db then you MUST know the name of the db – Professor Abronsius Aug 12 '16 at 23:36
  • 1
    Please dont use [the `mysql_` database extension](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php), it is deprecated (gone for ever in PHP7) Specially if you are just learning PHP, spend your energies learning the `PDO` database extensions. [Start here](http://php.net/manual/en/book.pdo.php) its really pretty easy – RiggsFolly Aug 12 '16 at 23:40
  • @RamRaider if you look at OP's code, he is initializing a connection to the server without specifying the schema. He is attempting to list all databases on the server that he as access to. –  Aug 12 '16 at 23:42
  • As @RiggsFolly said learn PDO, however the manual might seem a bit overwhelming so you could [this](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers), it is extremely good and will have up and running in no time. – Script47 Aug 13 '16 at 00:31

4 Answers4

61

You can use the output buffering functions to capture output and write it to a file.

ob_flush();
ob_start();
while ($row = mysql_fetch_assoc($result)) {
    var_dump($row);
}
file_put_contents("dump.txt", ob_get_flush());
Barmar
  • 741,623
  • 53
  • 500
  • 612
24

Don't use var_dump for this, use serialize like so:

<?php
$fp = fopen('vardump.txt', 'w');
fwrite($fp, serialize($myobj));
fclose($fp);
?>

To restore it, you can use unserialize($filecontents); by reading it back in from the file.

  • 2
    Simple, excellent idea. There is also `print_r()` to create a string from any variable which may be easier to read than serialized data. – Alexis Wilke Jul 07 '17 at 00:08
0
<?
$server = "127.0.0.1";
$username = "root";
$password = "1";

$link= connecttodb($server,$username,$password);

function connecttodb($server,$username,$password)
{

$rez=fopen("test.txt","ab");
   if ($link=mysql_connect ("$server","$username","$password",TRUE))
   {
   fwrite($rez,"".$server." \r\n");
    echo "Connected successfully to >> " .$server ;

        $result = mysql_query('SHOW DATABASES');
echo "<br>";
while ($row = mysql_fetch_array($result))
{
fwrite($rez, $row['DatabaseName']); }

    }

}
ini_set('max_execution_time', 10);
return $link;
    ?>
-3

This should work

$file = 'somefile.txt';
file_put_contents($file, $some_var);

You may want to serialize the variable first to make it more readable.

But there are several other methods: http://php.net/manual/en/function.file-put-contents.php

Andy
  • 102
  • 1
  • 4