0

いくつかの mysql ステートメントを実行することになっている php スクリプトがあります。コメント /* */ とブレークラインがない場合、すべてが機能します...

この機能を追加するのを手伝ってください。 --コメントも無視してください

<?
$sqlFileToExecute = 'mysql_dump.sql';
$hostname          = 'localhost';
$db_user           = 'root';
$db_password      = '';
$database_name    = 'db_';
$link = mysql_connect($hostname, $db_user, $db_password);
if (!$link) {
  die ("error connecting MySQL");
}

mysql_select_db($database_name, $link) or die ("wrong DB");
$f = fopen($sqlFileToExecute,"r+");
$sqlFile = fread($f, filesize($sqlFileToExecute));

$sqlArray = explode(';',$sqlFile);
foreach ($sqlArray as $stmt) {

 //THIS SEEMS NOT TO WORK 
 if (strlen($stmt)>3 && substr(ltrim($stmt),0,2)!='/*') {
    $result = mysql_query($stmt);
    if (!$result) {
      $sqlErrorCode = mysql_errno();
      $sqlErrorText = mysql_error();
      $sqlStmt = $stmt;
      break;
    }
  }
}
if ($sqlErrorCode == 0) {
  echo "SETUP COMPLETED ;)";
} else {
  echo "FAIL!<br/>";
  echo "Error code: $sqlErrorCode<br/>";
  echo "Error text: $sqlErrorText<br/>";
  echo "Statement:<br/> $sqlStmt<br/>";
}

?>
4

1 に答える 1

1

この方法で実行する必要がありますか:

使用することもできます

$mysql -pxxx -u username db_name -vvv < sourcefile.sql >/tmp/outfile.log

詳細モードを有効にして統計を確認します。それ以外の場合は -vvv オプションを省略できます

また

mysql > source "sourcefile.sql"

ここで他のオプションを見ることができます

于 2013-03-18T17:07:47.570 に答える