我想在数据库上触发查询:
$query="SELECT field1 from table_name where field2 like '%".$_REQUEST['var1']."%'";
页面显示 500内部服务器错误。
在调试时,我回显 $ query 。 它就像:
SELECT field1 from table_name where field2 like 'value_of_var1%'
第一个百分号在哪里消失了? 我在互联网上搜索了一些说我必须加上双百分号(%%)才能逃脱百分号。如果是这样,为什么第二个百分号不需要转义?
这个代码(查询)正在AJAX页面中执行,为了调试我通过URL打开了那个AJAX页面。 它显示出完美的结果
SELECT field1 from table_name where field2 like '%value_of_var1%'
但是当通过AJAX调用页面时,它显示没有第一个百分号。 你能帮我理解究竟是什么问题吗?
答案 0 :(得分:2)
感谢您的回复。
我的问题是,$_REQUEST['var1']
是一个数字。
%号在HTML下解析。
对于错误500,我的代码中出错了。
答案 1 :(得分:0)
将值分配给变量。
$variable = $_REQUEST['var1'];
$query = "SELECT field1 from table_name where field2 like '%".$variable."%'";
此查询已经过测试并正常运行。