第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用'%'where和'OR'編寫SQL'LIKE'查詢以進行搜索操作?

如何使用'%'where和'OR'編寫SQL'LIKE'查詢以進行搜索操作?

PHP
藍山帝景 2021-04-09 16:15:54
我正在嘗試對兩個不同的列使用SQL LIKE。是否可以使用這種類型的操作?我已經嘗試過像:$sWhere .= " file_name like '%" . $search_item . "%' OR name like '%" . $search_item . "%' and ";但以上代碼僅適用于單個情況。我想對兩者都進行搜索。這是我的代碼:if (isset($search_item) && $search_item != '') {      $sWhere .= " file_name like '%" . $search_item . "%' and ";    }我想同時使用帶有一個搜索字段的列名來執(zhí)行搜索操作。回復 :SELECT a.id, a.file_name, a.file_path,a.upload_type,a.upload_by, b.username,a.addedon FROM tbl_asd as a INNER JOIN user as b on b.id = a.upload_by WHERE a.upload_type = 'asd' and  a.addedon >= ( CURDATE() - INTERVAL 1000 DAY ) and (file_name like '%asd%' OR upload_by like '%asd%')  ORDER BY id desc limit 0,10找到“無行”!
查看完整描述

3 回答

?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

您需要將子句的OR部分WHERE用括號括起來,否則您將獲得比預期更多的結果(基本上任何具有的行file_name like '%" . $search_item . "%')。改用這個:


$sWhere .= " (file_name like '%" . $search_item . "%' OR name like '%" . $search_item . "%') and ";

請注意,按原樣查詢可以使您易于進行SQL注入。理想情況下,您應該準備查詢,而不要使用類似以下的代碼:


$query = "SELECT ... FROM ... WHERE";

$params = array();

$types = '';

if (isset($search_item) && $search_item != '') {

     $query .= " file_name like ? OR name like ? AND ";

     $types .= 'ss';

     array_push($params, "'%$search_item%'", "'%$search_item%'");

}

// add other where clauses in a similar way

// ...

// make sure we have a trailing `WHERE` clause

$query .= '1 = 1';

$stmt = $link->prepare($link, $query) or die($link->error);

$stmt->bind_param($types, ...$params);

$stmt->execute() or die($stmt->error);


查看完整回答
反對 回復 2021-04-23
?
米脂

TA貢獻1836條經驗 獲得超3個贊

您可以使用concat來構建適當?shù)臈l件

$sWhere .= " file_name like concat('%', $search_item ,'%') OR name like concat('%', $search_item ,'%') ";

(刪除了字符串末尾的AND)

無論如何,您應該查看數(shù)據(jù)庫驅動程序以獲取準備好的狀態(tài)和綁定參數(shù),因為在SQL中使用PHP可能會產生SqlInjection


查看完整回答
反對 回復 2021-04-23
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

$sWhere .= " (file_name like '%" . $search_item . "%' OR name like '%" . $search_item . "%') and ";


查看完整回答
反對 回復 2021-04-23
  • 3 回答
  • 0 關注
  • 240 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號