gpt4 book ai didi

php - 如何在 php 中使用 mysql dump

转载 作者:行者123 更新时间:2023-11-29 15:00:33 25 4
gpt4 key购买 nike

我尝试在命令行中使用 mysql dump 并且它有效。我如何在 php 中做到这一点?我从网上找到了这段代码,并尝试了一下。

<?php
ob_start();

$username = "root";
$password = "mypassword";
$hostname = "localhost";
$sConnString = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");


$connection = mysql_select_db("test",$sConnString)
or die("Could not select DB");
$command ="C:\wamp\bin\mysql\mysql5.1.36\bin --add-drop-table --host=$hostname --databases test > C:\wamp\www\test\tester.sql";

我不太明白下面这段代码的含义: 系统($命令);

$dump = ob_get_contents(); 
ob_end_clean();



$fp = fopen("dump.sql", "w");
fputs($fp, $dump);
fclose($fp);

?>

我将生成的 .sql 文件导入数据库,并从 phpmyadmin 收到此错误:

There seems to be an error in your SQL query. The MySQL server error output below, if there is any, may also help you in diagnosing the problem

ERROR: Unknown Punctuation String @ 3
STR: :\
SQL:
E:\Users\Nrew\Documents>set path=C:\wamp\bin\mysql\mysql5.1.36\bin;
E:\Users\Nrew\Documents>set path=C:\wamp\bin\mysql\mysql5.1.36\bin;
E:\Users\Nrew\Documents>set path=C:\wamp\bin\mysql\mysql5.1.36\bin;

SQL query:

E:\Users\Nrew\Documents>set path=C:\wamp\bin\mysql\mysql5.1.36\bin;

MySQL said:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'E:\Users\Nrew\Documents>set path=C:\wamp\bin\mysql\mysql5.1.36\bin' at line 1

请帮忙,我想学习如何在 php 中执行此操作。

最佳答案

system($command); 执行外部 mysqldump 命令。

我不太明白你粘贴的脚本,它看起来像是两个脚本的混合体?

无论如何,转储文件中的语法错误可能意味着版本不匹配(目标服务器上运行的是 4.x?)。

使用兼容开关生成在目标版本中工作的转储文件,例如

--compatible=mysql40

关于php - 如何在 php 中使用 mysql dump,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3288177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com