我有两个 MySQL 问题。
$query = " SELECT
stationname
FROM
stations
WHERE
stationname >= '". mysql_real_escape_string($_GET['letter']) ."'
ORDER BY
stationname
";
这是第一个查询。在 URL 中是一个包含字母字符的参数集 $_GET['letter']
。我正在尝试选择 stationname
以 $_GET['letter']
开头的所有行。所以我在另一个 Stackoverflow 主题中找到了这个解决方案,但它似乎不起作用,我得到了我所有的行,而不仅仅是那一个。 编辑:它似乎检查了 stationname
中的所有字符,而不仅仅是首字母,我怎样才能得到它?
$query = " SELECT
stationname
FROM
stations
WHERE
stationname
LIKE
'". mysql_real_escape_string($_POST['search']) ."'
";
第二个也是最后一个问题。我想为我的网站创建一个搜索引擎,选择 stationname
包含 $_POST['search']
的所有行。但是当我有 2 行时,例如,一行叫做 cheese
,另一行叫做 cheese2
,我搜索 cheese
,只有 cheese
被选中,当我搜索 cheese2
时,只有 cheese2
会被选中。有什么方法可以同时选择 cheese
和 cheese2
吗?
最佳答案
LIKE
支持通配符。 %
表示任意个字符(包括零),_
表示任意一个字符`
stationname LIKE 'cheese%'
这将匹配 cheese
和 cheese2
。
您也可以对第一期使用 %
。
stationname LIKE 'a%'
这将找到所有以 'a'
开头的单词。
关于php - MySQL:喜欢和第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10092768/