我终于找到了为什么我的PHP脚本无效。这是因为MySQL“--comment”而不是“ - comment”。我最近开始使用PHP,直到那时,我一直使用“--comment”。现在,我想知道为什么在PHP的mysql_query()中不允许这样做?
<?php
$query = "SELECT firstname,
-- comment
lastname, address,
--not a comment
age FROM friends WHERE firstname='%s' AND lastname='%s'";
// Perform Query
$result = mysql_query($query);
// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
?>
答案 0 :(得分:5)
每MySQL docs个空格是必需的。此外,如前一个链接页面所述,MySQL偏离了此语法中的规范(只有2个连续短划线[--this is a comment
])。
答案 1 :(得分:3)
以--
开头的MySQL评论必须后跟一个空格才能被视为评论。这是MySQL特有的,与PHP无关。您也可以使用/* comment */
或# comment #
答案 2 :(得分:2)
来自manual: “ - ”(双破折号)注释样式要求第二个破折号后跟至少一个空格或控制字符(例如空格,制表符,换行符等)。 < / p>
答案 3 :(得分:1)
因为MySQL开发团队决定如果 SELECT -1
是有效的代码来选择-1
然后SELECT --1
应该是有效的(我的)SQL用于选择+1。
答案 4 :(得分:0)
因为评论以三个字符开头:破折号,短划线,空格。 “ - ”