Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

php में साझा होस्ट पर mysql डेटाबेस बनाएं और आयात करें

KISS सिद्धांत :बस phpMyAdmin का उपयोग करें? यह लगभग निश्चित रूप से स्थापित है। अगर ऐसा नहीं है, तो इसे इंस्टॉल करें

इसकी आयात क्षमता शानदार है। यदि आपका डेटाबेस किसी भी तरह से बहुत बड़ा है, तो उसे gzip करें। यदि यह अभी भी बड़ा है, तो इसे कुछ टुकड़ों में विभाजित करने का प्रयास करें। मुझे संदेह है कि आपको इसे एक बड़े लेनदेन के रूप में स्थानांतरित करने की आवश्यकता है। क्या आप?

पहली टिप्पणी में स्पष्टीकरण के बाद, यहाँ जाता है। यह मेरी बहुत ही सरल लिपि है जो वही करती है जो आप चाहते हैं। सिवाय इसके कि यह विभाजकों पर एक नज़र नहीं डालता:एक क्वेरी ==एक पंक्ति।

<link  href="style/contents.css"/>
<?

function timesanitize($v) {
    if ($v > 0)
        return round($v, 4);
    else
        return 0;
}

$startmt = microtime();
include_once 'include/db.php';
$f = fopen("db.sql","r");
echo dbGetEngine() . "<br>";
echo "<ul>";
do {
    $l = rtrim(fgets($f));
    if (strlen($l) == 0)
        continue;
    if (substr($l, 0, 1) == '#')
        continue;
    $l = str_replace(
        array("\\n"),
        array("\n"),
        $l);
    if (dbGetEngine() == "pgsql")
        $l = str_replace(
            array("IF NOT EXISTS", "LONGBLOB"),
            array("", "TEXT"),
             $l);
    try {
        echo "<li>".nl2br(htmlspecialchars($l));
        $mt = microtime();
        $db->query($l);
        echo "<ul><li>ok - " . timesanitize(microtime() - $mt) . "</ul>";
    } catch (PDOException $e) {
        echo "<ul><li>".$e->getMessage() . "</ul>";
    }
} while (!feof($f));
fclose($f);

echo 'total: ' . timesanitize(microtime() - $startmt);
?>

यह एक छोटा सा आँकड़ा भी आउटपुट करता है कि प्रत्येक क्वेरी में कितना समय लगा। यह पीडीओ के आसपास आधारित है; मेरा मानना ​​​​है कि पीडीओ को PHP5.1 या PHP5.2 में पेश किया गया था। मुझे लगता है कि इसे सीधे mysql_*() . के साथ काम करने के लिए संशोधित करना तुच्छ होना चाहिए कार्य, यदि किसी कारण से आप इसे पसंद करते हैं।

और एक बार फिर:हाँ, मुझे पता है कि यह बेकार है। लेकिन जब तक यह मेरे लिए काम करता है (टीएम), और संभवतः आप... :-)

कोड को पूरा करने के लिए, यहां include/db.php हैं और एक नमूना include/config.php :

include/db.php :

<?
include_once 'include/config.php';

try {

        $attribs =  
                array(
                        PDO::ATTR_PERSISTENT => $config['db']['persistent'],
                        PDO::ATTR_ERRMODE => $config['db']['errormode']
                );


        $db = new PDO(
                $config['db']['uri'],
                $config['db']['user'],
                $config['db']['pass'],
                $attribs
        );
        $db->query("SET NAMES 'utf8'");
        $db->query("SET CHARACTER SET 'utf8'");

} catch (PDOException $e) {
        print "Error!: " . $e->getMessage() . "<br/>";
        die();
}

function dbGetEngine() {
        global $config;
        return substr($config['db']['uri'], 0, strpos($config['db']['uri'], ':'));
}
?>

include/config.php :

<?

//$config['db']['uri'] = 'sqlite:' . realpath('.') . '/site.db'; // PDO's database access URI
$config['db']['uri'] = 'mysql:host=localhost;dbname=sitedb'; // server should be : 195.78.32.7
//$config['db']['uri'] = 'pgsql:host=localhost;dbname=sitedb';
$config['db']['user'] = 'user_goes_here'; // database username
$config['db']['pass'] = 'pass_goes_here'; // database password
$config['db']['persistent'] = false; // should the connection be persistent
$config['db']['errormode'] = PDO::ERRMODE_EXCEPTION; // PDO's error mode

?>

SQLite, MySQL और PostgreSQL के लिए नमूना कनेक्शन स्ट्रिंग शामिल हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Gson तिथि डालें

  2. वेब सर्वर में सीधे PHP द्वारा सहेजे बिना, सर्वर साइड पर किसी फ़ाइल में बेस 64 स्ट्रिंग को कैसे निर्यात करें?

  3. java.sql.SQLException:पहले से ही बंद है

  4. MySQL में चुनें काम नहीं कर रहा

  5. मैसकल 1 रैंडम रो