Php 返回SQL语句的MySQL语句?

Php 返回SQL语句的MySQL语句?,php,mysql,export,Php,Mysql,Export,我需要在远程服务器上转储表,但无法直接访问服务器。我唯一的访问权限是通过PHP脚本 MySQL是否会以某种方式返回 INSERT INTO `table_name` (`field1`, `field2`) VALUES ('a', 'b'), ('c', 'd') 语句,比如mysqldump将返回什么 我没有访问phpMyAdmin的权限,最好不要使用exec、system或passthru 有关另一种导出方法的信息,请参见。您可以从exec或passthru运行mysqldump吗 2)

我需要在远程服务器上转储表,但无法直接访问服务器。我唯一的访问权限是通过PHP脚本

MySQL是否会以某种方式返回

INSERT INTO `table_name` (`field1`, `field2`) VALUES ('a', 'b'), ('c', 'd')
语句,比如
mysqldump
将返回什么

我没有访问phpMyAdmin的权限,最好不要使用
exec
system
passthru

有关另一种导出方法的信息,请参见。您可以从exec或passthru运行mysqldump吗

2) 看看这个:

如果您可以在我推荐的服务器上使用php脚本。然后您可以从web界面执行此操作。

您应该检查一下,它是一个基于php的MySQL管理工具。它支持数据库的备份和恢复以及数据库服务器的“GUI”。它工作得很好。

我很肯定会的。

这个

select 'insert into table table_name (field1, field2) values'
       || table_name.field1 || ', ' || table_field2 || ');'
from   table_name

你应该开始了。将| |替换为db的字符串串联运算符。如果field1或field2是字符串,您必须想出一些引用/转义的技巧。

这里有一种方法可以生成大量单独的查询语句。您也可以使用内爆来更有效地组合字符串,但这对于初学者来说更容易阅读,并且从中可以提出一百万种其他方法

$results = mysql_query("SELECT * FROM `table_name`");
while($row = mysql_fetch_assoc($results)) {

    $query = "INSERT INTO `table_name` ";
    $fields = '(';
    $values = '('; 

    foreach($row as $field=>$value) {
        $fields .= "'".$field."',";
        $values .= "'".mysql_escape_string($value)."',";
    }

    //drop the last comma off
    $fields = substr($fields,0,-1);
    $values = substr($values,0,-1);

    $query .= $fields . " VALUES " . $values;

    //your final result
    echo $query;
}

看看这是否能让你开始

你在phpmyadmin推荐中击败了我!这个解决方案的问题是它不能返回准确的INSERT语句。例如,它将用单引号将整数括起来。它是用单引号返回整数,还是用带重音的graves(`)返回整数?这一行:$values.=“'.”。mysql_escape_string($value)。“,”;将所有值括在单引号(')中。一般来说,这不是一个问题,但它不像PHP的putcsv函数那样精确。