我一直在从事一个项目,在该项目中我一直在以交互方式开发 MySQL 命令。我现在想使用 PHP 脚本运行 MySQL 命令。我通过简单地粘贴 MySQL 命令并将它们变成 PHP 字符串来完成此操作。像这样……
$queryStg = "
update table1 set col1 = 1;
drop table table2;
";
$sqlQuery = mysqli_multi_query($mysqliLink, $queryStg);
然而,我总是不得不删除 MySQL 注释以使其正常工作。我宁愿保留这些意见。有没有办法做到这一点?。我试过在每条评论的末尾添加“\n”,但我无法让它工作。 例如。如果我运行它,它会返回错误...
$queryStg = "
-- a mySQL comment
update table1 set col1 = 1;
--another comment
drop table table2;
";
$sqlQuery = mysqli_multi_query($mysqliLink, $queryStg);
有用的完整代码
$mysqliLink = new mysqli ($host, $username, $password, $dbName);
$queryStg = "
-- a mySQL comment
update table1 set col1 = 1;
--another comment
drop table table2;
";
$sqlQuery = mysqli_multi_query($mysqliLink, $queryStg);
do {
if ( mysqli_error($mysqliLink) ) {
die("ERROR: " .
htmlspecialchars(mysqli_error($mysqliLink), ENT_QUOTES) .
"<br>\n");
}
echo mysqli_affected_rows($mysqliLink);
mysqli_use_result($mysqliLink);
$moreResults = mysqli_more_results($mysqliLink);
@mysqli_next_result($mysqliLink);
} while($moreResults);
谢谢
最佳答案
如果正确转义(“--”后需要跟空格字符、制表符、换行符等),注释将被EDIT 跳过。试试这个:
$queryStg = "
-- a mySQL comment
update table1 set col1 = 1;
-- another comment
drop table table2;
";
$sqlQuery = $mysqliLink->multi_query($queryStg);
关于php - 在 PHP 脚本中保留 MySQL 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6001390/