php – 具有$variable的LIKE运算符
作者:互联网
这是我的第一个问题,我希望它很简单,快速回答!
基本上,我有以下代码:
$variable = curPageURL();
$query = 'SELECT * FROM `tablename` WHERE `columnname` LIKE '$variable' ;
如果我回显$变量,它会打印当前页面的url(这是我页面上的javascript)
最终,我想要的是能够搜索搜索术语是当前页面的URL,并使用前面和后面的通配符.我不确定这是否可行,或者我是否只是语法错误,因为我没有错误,根本没有结果!
我试过了 :
$query = 'SELECT * FROM `tablename` WHERE `columnname` LIKE '"echo $variable" ' ;
但同样,我可能会错过或使用错位的“;等等
请告诉我我做错了什么!
解决方法:
Ultimately, what I want, is to be able to make a search for which the search-term is the current page’s url, with wildcards before and after.
SQL通配符是百分号.因此:
$variable = curPageURL();
$variable = mysql_real_escape_string($variable);
$query = "SELECT * FROM `tablename` WHERE `columnname` LIKE '%{$variable}%'";
注意:我添加了一些额外的代码. mysql_real_escape_string()将保护您免受用户故意或意外地放置会破坏您的SQL语句的字符.你最好使用参数化查询,但这是一个比这个简单修复更复杂的主题.
另请注意:我也修复了你的字符串引用.如果该字符串是双引号,并且在$query结尾处缺少引号,则只能直接在字符串中使用变量.
编辑2015年1月17日:刚刚得到一个upvote,所以考虑到这一点,请不要再使用mysql_ *函数.
标签:php,variables,sql,sql-like 来源: https://codeday.me/bug/20191001/1839691.html