在这个上拔头发,我已经尝试了一些改变变量的转义字符的方法,但没有任何工作,包括改为'"。 $ R"'等。
如果我将变量硬编码为常量则可行。例如$ r =" Word&#34 ;;
我已将变量重命名为随机字母,以防它们是保留字。
我已经设置了mysql的日志记录,我已经比较了这些语句并且它们相同,唯一的区别是一个是通过文本框提交的,另一个是通过常量设置的。
型号:
public static function searchProfile()
{
$r = Request::post('w');
$args = "";
if ($r) {$args = "`info_tradingstatus` = '$r'";}
$database = DatabaseFactory::getFactory()->getConnection();
$sql = "SELECT profile_id, profile_name FROM profile_seeker WHERE $args";
查看:
<input type="text" name="w" class="form-control" placeholder="Enter Keyword" aria-describedby="basic-addon1">
控制器:
public function search_action()
{
ProfileModel::searchProfile(
Request::post('w'),
Redirect::to('profile/searchresults'));
}
答案 0 :(得分:0)
嗨我认为问题是当$ r为空时,请尝试:
public static function searchProfile()
{
$r = Request::post('w');
$args = " 1 ";
if ($r) {$args = "`info_tradingstatus` = '".$r."'";} // just in case
$database = DatabaseFactory::getFactory()->getConnection();
$sql = "SELECT profile_id, profile_name FROM profile_seeker WHERE $args";