Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从MySql导出到sql文件时,如何自动转义内容中的引号?_Mysql_Database_Import_Joomla_Quotes - Fatal编程技术网

从MySql导出到sql文件时,如何自动转义内容中的引号?

从MySql导出到sql文件时,如何自动转义内容中的引号?,mysql,database,import,joomla,quotes,Mysql,Database,Import,Joomla,Quotes,我们有一个Joomla网站,我们想复制到另一个主机网站。到目前为止,除了数据库外,所有内容都已复制。我们遇到的问题如下: 在将数据库信息从旧网站导出到.sql文件并尝试将其导入到新主机上的空数据库后,网站上的文本(内容)似乎在不同点中断。我发现这是因为文本中的单引号”,例如“不客气”。而不是这两个词,它只说You。我知道引号会打断SQL查询(就像在SQL注入中一样),但是如何正确地导入数据库呢?还是我必须先改变导出它的方式 我们正在使用phpMyAdmin导出(和导入)我们的信息。我也经历过同样

我们有一个Joomla网站,我们想复制到另一个主机网站。到目前为止,除了数据库外,所有内容都已复制。我们遇到的问题如下:

在将数据库信息从旧网站导出到.sql文件并尝试将其导入到新主机上的空数据库后,网站上的文本(内容)似乎在不同点中断。我发现这是因为文本中的单引号
,例如
“不客气”
。而不是这两个词,它只说
You
。我知道引号会打断SQL查询(就像在SQL注入中一样),但是如何正确地导入数据库呢?还是我必须先改变导出它的方式


我们正在使用phpMyAdmin导出(和导入)我们的信息。

我也经历过同样的事情,我认为这是phpMyAdmin导出功能中的一个错误。据我所知,没有什么好方法可以清理转储,因为您无法通过简单的搜索和替换来逃避引用

然而,有一个非常简单的解决方案。当您需要移动站点时,请使用JoomlaPack(现在称为Akeba备份)。它将整个站点和数据库打包成一个漂亮整洁的ZIP文件,并包含一个快速安装程序。移动整个站点并启动和运行不应超过几分钟


我意识到这是一篇老文章,但对于查找/替换也有一个相当简单的解决方案

如果您使用支持regex find/replaces的文本编辑器(我使用的是Sublime text 2),您可以快速地将一些内容组合在一起以匹配模式。这可能不适用于所有数据,但在我遇到此问题的情况下,它对我有效

您将要搜索:

(\w)'(\w)
并替换为:

$1\\'$2

这将查找任何带有单引号的单词字符,并在其旁边找到另一个单词字符,然后替换为转义版本。在大多数情况下,我处理的问题都是用英文缩写的文本,所以这适用于这种情况。它在您的情况下可能不起作用。

它不应该这样做
将数据库信息从旧网站导出到.sql文件后
您是如何进行导出的?我们正在使用phpMyAdmin导出(和导入)我们的信息。(添加到原始帖子中)我假设您在远程服务器上没有命令行访问权限,无法从中运行
mysqldump
?无论如何,phpMyAdmin不应该这样做。您是否100%确定导出的数据已经存在此问题,并且以后不会发生此问题?您可以检查转储文件以确保吗?我已经检查了导出的.sql文件,下面是一个它的外观示例(以及我认为它失败的地方)。我把它缩短了一点,删除了多余的HTML等等。正如您所看到的,在内容的开头(
您是
)有一个单引号,它停在上面。至少,这是我猜的,这就是我们网站上的情况<代码>(17,‘欢迎’、‘主页’、‘亲爱的访客,欢迎您访问我们的网站’。感谢您的回答!不过,有一个简短的问题:我能导出数据库吗?我对这些文件不太感兴趣,因为它们已经被传输了。如果您不想获取所有数据,您可以控制备份的内容文件。我从未这样做过,但我看不出它不起作用的任何原因。使用您推荐的Joomla组件,我们成功地导出(和导入)数据库。非常感谢你的帮助。也是非常有用的组件。我面临着同样的问题,但它不是joomla数据库。在这篇文章中,我如何解决这个问题?感谢你的老帖子。我刚刚在phpmyadmin备份中遇到了这个问题。