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