簡體   English   中英

php / sql-如何在變量上使用LIKE運算符從數據庫中提取結果?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM