我一直致力于一个项目,我一直在以交互方式开发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);
由于
答案 0 :(得分:7)
如果正确转义,则会跳过 EDIT(“ - ”后面跟空格字符,制表符,换行符等)。试试这个:
$queryStg = "
-- a mySQL comment
update table1 set col1 = 1;
-- another comment
drop table table2;
";
$sqlQuery = $mysqliLink->multi_query($queryStg);
答案 1 :(得分:2)
"select * from
-- comment
atable"
转化为"select * from -- comment atable"
MySQL也允许这种类型的评论:
/*comment that ends*/
"select * from
/*comment*/
atable"
转化为"select * from /*comment*/ atable"
这确实有效: - )。