我有一个带双引号的字符串。即"这是文字"当我只搜索这是文本没有结果显示。我想搜索两个字符串,如引号和没有引号。那么查询的内容是什么?
function template($val)
{
$Qry11=Database::Read("SELECT subcategory.*,C_Name,description FROM subcategory JOIN category ON subcategory.C_id=category.C_id JOIN product_description ON subcategory.S_id = product_description.S_id WHERE S_Name LIKE '%$val%' OR C_Name LIKE '%$val%' group by subcategory.S_id");
$List11 = Array();
$thisObjectName11 = get_class($this);
while($arr = Database::Reader($Qry11))
{
$data = new $thisObjectName11();
$data->temp_Id = $arr[S_id];
$data->C_Name = $arr[description];
$data->Nm = $arr[C_Name];
$data->S_Name = $arr[S_Name];
$List11[] = $data;
}
return $List11;
}
答案 0 :(得分:0)
在查询中使用变量。
$var = '"this is text"';
$var = mysql_real_escape_string($var);
答案 1 :(得分:0)
如果我说得对,请使用反斜杠来逃避引用:
WHERE S_Name LIKE '%\"$val\"%'
答案 2 :(得分:0)
如果你的病情是这样的单引号......
WHERE S_Name LIKE '%$val%'
然后如果你想在$ val中搜索单引号(')。
$val = "some'some";然后将单次单引号替换为双倍时间('到'')和搜索将正常工作。
WHERE S_Name LIKE '%some''some%'
否则在所有搜索中你都可以直接搜索价值...
WHERE S_Name LIKE '%some"some%'
所以在这里你不需要php中的任何斜杠......
答案 3 :(得分:0)
您可以将json与某些变量(例如
$var = json_encode("this is text");
一起使用,并将此变量传递给查询。