spi*_*nt0 1 php mysql comments
我一直致力于一个项目,我一直在以交互方式开发MySQL命令.我现在想要使用PHP脚本运行MySQL命令.我通过简单地粘贴MySQL命令并将它们变成PHP字符串来实现这一点.像这样...
$queryStg = "
update table1 set col1 = 1;
drop table table2;
";
$sqlQuery = mysqli_multi_query($mysqliLink, $queryStg);
Run Code Online (Sandbox Code Playgroud)
但是我总是不得不删除MySQL注释以使其工作.我宁愿保留这些评论.有没有办法做到这一点?.我已经尝试在每条评论的末尾添加'\n',但我无法让它发挥作用.例如,如果我运行它会返回错误...
$queryStg = "
-- a mySQL comment
update table1 set col1 = 1;
--another comment
drop table table2;
";
$sqlQuery = mysqli_multi_query($mysqliLink, $queryStg);
Run Code Online (Sandbox Code Playgroud)
完整的代码使其有用
$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);
Run Code Online (Sandbox Code Playgroud)
谢谢
如果正确转义,将跳过评论EDIT(" - "后面跟空格字符,制表符,换行符等).试试这个:
$queryStg = "
-- a mySQL comment
update table1 set col1 = 1;
-- another comment
drop table table2;
";
$sqlQuery = $mysqliLink->multi_query($queryStg);
Run Code Online (Sandbox Code Playgroud)