假设数据库连接良好,表名和列名正确,并且数据库中实际上有一行的值为"advoom.com"。是什么阻止了这一点?我得到错误"未知列'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());
使用此:
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
不存在,这就是出现此错误的原因。
您需要在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());
如果需要,不要忘记逃避输入。
您需要在变量之前和之后添加Single Quote
。PHP 中最简单的无连接解决方案
$query_Recordset1 = "SELECT * FROM buttonprefsNEW WHERE curl = '$pageURL'";
试试这个:
$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());