Php 返回SQL语句的MySQL语句?
我需要在远程服务器上转储表,但无法直接访问服务器。我唯一的访问权限是通过PHP脚本 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)
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函数那样精确。