假设数据库连接正常,表名和列名正确,并且数据库中实际上有一行,其中包含值“advoom.com”。什么阻止这种工作?我在“where子句”中收到错误“Unknown column'advoom.com'”
我也尝试将变量放在引号之外并使用“。”连接命令。同样的错误。
这是在Dreamweaver中编写的PHP页面的片段。
$ pageURL =“advoom.com”;
mysql_select_db($database_bizCon, $bizCon);
$query_Recordset1 = "SELECT * FROM buttonprefsNEW WHERE curl = $pageURL";
$Recordset1 = mysql_query($query_Recordset1, $bizCon) or die(mysql_error());
答案 0 :(得分:13)
使用此:
mysql_select_db($database_bizCon, $bizCon);
$pageURL = mysql_real_escape_string($pageURL);
$query_Recordset1 = "SELECT * FROM buttonprefsNEW WHERE curl = '" . $pageURL . "'";
$Recordset1 = mysql_query($query_Recordset1, $bizCon) or die(mysql_error());
在这种情况下,你只需要单引号来匹配它。
在这种情况下,字符串$pageURL
将用作列而不是字符串。因此,您希望选择列advoom.com
等于列curl
的所有行。现在,列advoom.com
不存在,这就是您收到此错误的原因。
答案 1 :(得分:2)
你需要在sql中用引号括起一个字符串。
$pageURL = "advoom.com";
mysql_select_db($database_bizCon, $bizCon);
$query_Recordset1 = "SELECT * FROM `buttonprefsNEW` WHERE `curl` = '".$pageURL."'";
$Recordset1 = mysql_query($query_Recordset1, $bizCon) or die(mysql_error());
如果需要,不要忘记逃避输入。
答案 2 :(得分:0)
您需要在之前添加Single Quote
,在之后添加。 PHP中没有concactenation的最简单的解决方案
$query_Recordset1 = "SELECT * FROM buttonprefsNEW WHERE curl = '$pageURL'";
答案 3 :(得分:0)
试试这个:
$url = "http://example.com";
mysql_select_db($database_bizCon, $bizCon);
$query_Recordset1 = "SELECT * FROM `buttonprefsNEW` WHERE `curl` = '".$url ."'";
$Recordset1 = mysql_query($query_Recordset1, $bizCon) or die(mysql_error());