[英]php/sql- How do I use LIKE operator on variable to pull results from database?
就像我說的那樣,我想使用LIKE
運算符,因此無論何時用戶輸入“ M”之類的東西,它都會返回所有以“ m”開頭的數據庫條目,而不是僅以“ M”開頭的所有條目。 這是我的代碼
$strSymbolName = @$_REQUEST["searchSymbol"];
//searchSymbol is the variable with user Input inside
if(!empty($strSymbolName))
{ // process the form
// Establish dbserver connection and default database
$db = $objDBUtil->Open();
// Run a Query to get company name
$query = "SELECT symSymbol, symName FROM symbols " .
"WHERE symSymbol =" . $objDBUtil->DBQuotes($strSymbolName);
//Retrieves company symbol and name from database. Stores this in result
$result = $db->query($query);`
我想做的是在WHERE語句上使用LIKE運算符,所以類似-
WHERE symSymbol LIKE = " . $objDBUtil->DBQuotes($strSymbolName);
但這沒有用...我如何在這里應用LIKE運算符?
$db = $objDBUtil->Open();
$param = $objDBUtil->DBQuotes($strSymbolName);
$query = "SELECT symSymbol, symName FROM symbols WHERE symSymbol LIKE '%$param%'";
$result = $db->query($query);
只需使用LIKE查詢
$db = $objDBUtil->Open();
$query = "SELECT symSymbol, symName FROM symbols WHERE symSymbol LIKE '%$strSymbolName%'";
$result = $db->query($query);
您需要在變量末尾附加%
,例如:
WHERE symSymbol LIKE " . $objDBUtil->DBQuotes($strSymbolName) . "%";
這將返回以您的變量開頭的任何內容。
如果要搜索以“ M”開頭的內容,請在值后添加%
,並刪除=
因為使用LIKE
時不需要
$query = "SELECT symSymbol, symName FROM symbols WHERE symSymbol LIKE ".$objDBUtil->DBQuotes($strSymbolName)."%";
有關LIKE
更多信息,請單擊此處 。
WHERE CustomerName喜歡'a%'|| 查找以“ a”開頭的任何值
WHERE CustomerName像'%a'|| 查找以“ a”結尾的任何值
WHERE CustomerName喜歡'%or%'|| 查找在任何位置具有“或”的任何值
WHERE CustomerName喜歡'_r%'|| 查找第二個位置具有“ r”的任何值
WHERE CustomerName喜歡'a _%_%'|| 查找以“ a”開頭且長度至少為3個字符的任何值
其中的ContactName喜歡'a%o'|| 查找以“ a”開頭並以“ o”結尾的任何值
要查找的字符串后使用%
通配符。
$query = "SELECT symSymbol, symName FROM symbols WHERE symSymbol LIKE ".$objDBUtil->DBQuotes($strSymbolName)."%";
關於%
和其他通配符的更多信息: https : //www.w3schools.com/sql/sql_wildcards.asp
摘錄自以上鏈接:
WHERE CustomerName喜歡'a%'|| 查找以“ a”開頭的任何值
WHERE CustomerName像'%a'|| 查找以“ a”結尾的任何值
WHERE CustomerName喜歡'%or%'|| 查找在任何位置具有“或”的任何值
WHERE CustomerName喜歡'_r%'|| 查找第二個位置具有“ r”的任何值
WHERE CustomerName喜歡'a _%_%'|| 查找以“ a”開頭且長度至少為3個字符的任何值
其中的ContactName喜歡'a%o'|| 查找以“ a”開頭並以“ o”結尾的任何值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.