我有一部分代码导入 .sql 文件以这种方式执行:
<?php
$Server = "localhost";
$Db = "test";
$User = "root";
$Pass = "";
function exec_file($File_Path) {
global $Server,$Db,$User,$Pass;
$Con = new PDO("mysql:host=$Server;dbname=$Db",$User,$Pass);
$Con->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
try {
$Sql = file_get_contents($File_Path);
$Res = $Con->exec($Sql);
}
catch (PDOException $Ex) {
echo $Ex->getMessage();
}
}
.sql 文件包含多个 SQL 命令。所有这些命令都执行得很好,但是,当这些命令出现错误时,'catch' 块只能捕获 .sql 文件中第一个命令中的错误。
应该有一些方法可以在第二个命令中捕获错误?