[英]PHP syntax error or access violation: 1064 - using variable in where clause
從這一點上講,我已經嘗試了很多方法來更改變量的轉義符,但沒有任何工作,包括更改為'“。$ r。”'等。
如果我將變量硬編碼為一個常數,它將起作用。 例如$ r =“ Word”;
我將變量重命名為隨機字母,以防它們是保留字。
我已經盡力為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'));
}
嗨,我認為問題是當$ 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";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.