我正在调用我的数据库以表格形式显示在页面上。目前我有一个名为模型的字段,其中列出了不同型号的枪支。前任。 (Dt-11 Sporting, Dt-11 Sporting Left handed)
我目前遇到一个问题,它不会提取所有请求的信息。
mysql_select_db("premiumguns") or die(mysql_error());
$make ='DT-11 Sporting';
if (isset($make)) {
$query = "SELECT Serial_No, Make, Model, Gauge, Barrel_Length, Price FROM PG_inv WHERE Model like '" . $make . "' ORDER BY PG_inv.Price";
}
else
{
$query = "SELECT Serial_No, Make, Model, Gauge, Barrel_Length, Price FROM PG_inv ORDER BY PG_inv.Price";
}
$result = mysql_query($query) or die(mysql_error())
据我所知,Where Model like 应该拉出所有包含“DT-11 Sporting”模型的行,其中应该包括上述“Dt-11 Sporting Left Handed”。但是,当页面加载时,只会显示完全包含“DT-11 Sporting”的字段。我错过了什么吗?
提前感谢您的帮助!
最佳答案
如果您不在查询中放入任何通配符,那么使用 = 或 like 都没有关系
我在搜索字词的两边都添加了 %,因此它现在将搜索诸如“blah blah Term blah blah”之类的项目
$query = "SELECT Serial_No, Make, Model, Gauge, Barrel_Length, Price FROM PG_inv WHERE Model like '%" . $make . "%' ORDER BY PG_inv.Price";
LIKE "FOO"
等同于 = "FOO",因为
LIKE "FOO%"会说任何以 FOO 开头的内容
关于php - 从名称与 "x"相似的数据库中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17933842/