这是我在这里的第一个问题,我希望它很简单,可以快速得到答案!
基本上,我有以下代码:
$variable = curPageURL(); $query = 'SELECT * FROM `tablename` WHERE `columnname` LIKE '$variable' ;
如果我回显$ variable,它将打印当前页面的url(这是我页面上的javascript)
最终,我想要的是能够进行搜索,搜索条件是当前页面的url,前后带有通配符。我不确定这是否可能,或者我只是语法错误,因为我没有错误,只是没有结果!
我试过了 :
$query = 'SELECT * FROM `tablename` WHERE `columnname` LIKE '"echo $variable" ' ;
但同样,我可能丢失了或使用了错误的’“;等。
请告诉我我做错了!
最终,我想要的是能够进行搜索,搜索条件是当前页面的url,前后带有通配符。
SQL通配符是百分号。所以:
$variable = curPageURL(); $variable = mysql_real_escape_string($variable); $query = "SELECT * FROM `tablename` WHERE `columnname` LIKE '%{$variable}%'";
注意:我添加了一些额外的代码。mysql_real_escape_string()将保护您免受用户有意或无意间放置会破坏您的SQL语句的字符的侵害。您最好使用参数化查询,但这是比此简单修复更复杂的话题。
mysql_real_escape_string()
另请注意:我也修复了您的字符串引用。如果该字符串用双引号引起来,并且您在末尾缺少引号,则只能直接在该字符串中使用变量$query。
$query
2015年1月17日编辑: 刚刚投票,因此, 请 记住不要使用这些mysql_*功能。
mysql_*