gpt4 book ai didi

php - 恢复mysql数据库报错

转载 作者:行者123 更新时间:2023-11-29 23:59:41 24 4
gpt4 key购买 nike

我正在尝试使用 http://www.a2zwebhelp.com/php-script-to-import-mysql-database 中的以下代码恢复数据库但我收到“错误:查询为空”我哪里出错了?

P.s.从 phpmyadmin 导入 sql 文件可以达到目的,但使用它不起作用。

<?php
include 'connect.php';
$filename = 'DB_Backups/db-backup-08-04-14-08-39-16.sql';
$templine = '';
$lines = file($filename); //Read entire file
foreach($lines as $line){
if(substr($line, 0, 2) == '--' || $line == '') //Skip all comments
$templine.=$line;
if(substr(trim($line), -1, 1) == ';'){
mysql_query($templine) or print('Error: '.mysql_error().'<br>');
$templine = '';
}
}
?>

最佳答案

首先,这部分代码不会跳过注释,它实际上将它们添加到您的$templine中:

    if(substr($line, 0, 2) == '--' || $line == '') //Skip all comments
$templine.=$line;

其次,在这里您尝试使用上面分配的 $templine 执行查询(如果曾经分配过,或者 ''),您实际上想要在其中执行查询与$line:

    if(substr(trim($line), -1, 1) == ';'){
mysql_query($templine) or print('Error: '.mysql_error().'<br>');

所以,基本上这应该会更好一些:

foreach($lines as $line){
if(substr($line, 0, 2) == '--' || $line == '') //Skip all comments
continue;
if(substr(trim($line), -1, 1) == ';'){
mysql_query(trim($line)) or print('Error: '.mysql_error().'in ' . $line . '<br>');
}
}

关于php - 恢复mysql数据库报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25123863/

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