2012-07-11 84 views
1

我试图使这个状况:百分号内PHP变量

if ($Search[1] == '') { 
    $Where = 'WHERE User.FirstName LIKE '%$Search[0]%' OR User.LastName LIKE '%$Search[0]%'; 
}else { 
    $Where = 'WHERE User.FirstName LIKE '%$Search[0]%' OR User.LastName LIKE '%$Search[1]%'; 
} 

但把 '%$搜索[0]%' PHP变量内导致没有结果。将百分比符号放入PHP变量中的正确方法是什么?

谢谢。

+2

BTW:请注意,您的代码容易受到SQL注入攻击。 – 2012-07-11 03:08:17

+0

怎么回事?这些代码只是代码的一部分。用户可以修改$ Where?我猜不会。 – 2012-07-12 04:40:56

回答

1

您使用不正确引用

$Where = "WHERE User.FirstName LIKE '%$Search[0]%' OR User.LastName LIKE '%$Search[0]%'"; 
     ^----note the difference. 

%是在PHP模运算符。既然你在你的版本中使用单引号,你实际上正在尝试使用一些SQL文本和变量的模。