wordpress データベースをバックアップするスクリプトがあり、うまく機能します。しかし、私はそれをphpで復元しようとしていますが、常に改行で停止し、エラーになります。エラー:
\n\nこれはテキストの例です。行 1 の「chang」
SQL 構文にエラーがあります。near '\n\n を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
nl2br
、、、それらも試しましhtmlspecialchars
た 。mysql_real_escape_string
preg-replacing
ここに私が使用しているコードがあります:
// Connect to MySQL server
mysql_connect($mysql_host, $mysql_username, $mysql_password) or die('Error connecting to MySQL server: ' . mysql_error());
// Select database
mysql_select_db($mysql_database) or die('Error selecting MySQL database: ' . mysql_error());
// Temporary variable, used to store current query
$templine = '';
// Read in entire file
$lines = file($filename, FILE_IGNORE_NEW_LINES);
// Loop through each line
foreach ($lines as $line)
{
// Skip it if it's a comment
if (substr($line, 0, 2) == '--' || $line == '')
continue;
// Add this line to the current segment
$templine .= $line;
// If it has a semicolon at the end, it's the end of the query
if (substr(trim($line), -1, 1) == ';')
{
// Perform the query
mysql_query($templine) or print(mysql_error() . '<br /><br />');
// Reset temp variable to empty
$templine = '';
}
}
$filename
変数は、正しくフォーマットされたファイル.sql
です。データベース ダンプでは、\nwordpress
を確認できます。また、ある種の を実行しnl2br
、それらを に置き換えることは間違いない<p>
ので、それらを削除するか、サイトのスペースを完全に削除することができます。