我非常后悔问这么简单的问题,但它一直让我脱离困境,我不确定是不是因为更新或其他任何问题。但任何人都可以告诉我以下SQL语句的错误是什么?
$iname = mysql_query("SELECT * FROM calendarevents WHERE 'EventMonth'="January" AND 'EventDay'="1"")
or die(mysql_error());
答案 0 :(得分:4)
这应该更好,使用正确的引号和反引号,请查看查询
$iname = mysql_query("SELECT * FROM calendarevents WHERE `EventMonth`= 'January' AND `EventDay`= 1 ")
<强>旁注:强>
自PHP 5.5.0起,此扩展程序已弃用,将来将被删除。相反,应该使用MySQLi或PDO_MySQL扩展。有关详细信息,另请参阅MySQL: choosing an API guide和related FAQ。
答案 1 :(得分:2)
使用以下内容:
$iname = mysql_query("SELECT * FROM calendarevents WHERE
{EventMonth {1}} {EventDay {1}}
你使用双引号(“)的方式是第一个也是最大的问题,你应该使用反引号(`)而不是单引号(')来转义mysql中的表名和列名。
答案 2 :(得分:2)
你不能在sql语句中使用双引号[&#34;]。
1月1日需要用单引号而不是双引号。
您也不需要围绕字段名称引用。
"SELECT * FROM calendarevents WHERE 'EventMonth'="January" AND 'EventDay'="1""
应该是
"SELECT * FROM calendarevents WHERE EventMonth='Januay' AND EventDay='1'"
答案 3 :(得分:0)
$iname = mysql_query("SELECT * FROM `calendarevents` WHERE `EventMonth`="January" AND `EventDay`=1")
or die(mysql_error());
答案 4 :(得分:0)
试试这个:
$query = "SELECT * FROM calendarevents WHERE EventMonth='January' AND EventDay = '1'";
$iname = mysql_query($query);