1

我想对数据库进行查询:

$query="SELECT field1 from table_name where field2 like '%".$_REQUEST['var1']."%'";

页面显示500 internal server error

在调试时,我回显$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 调用页面时,它显示没有第一个百分号。你能帮我理解真正的问题是什么吗?

4

2 回答 2

2

Thanks for your response. My problem was, $_REQUEST['var1'] was a number. %number is parsed under HTML. For error 500, It was mistake in my code.

于 2013-06-03T08:06:37.390 回答
0

将值分配给变量。

$variable = $_REQUEST['var1'];  
$query = "SELECT field1 from table_name where field2 like '%".$variable."%'";

此查询已经过测试并且可以正常工作。

于 2013-05-30T05:11:42.660 回答