MySql 喜欢 %
MySql like with %
我正在尝试执行 SQL 查询,该查询将提供我的 table 中以 'Ana%'.
开头的所有用户名
有两行是这样的:
- 安娜
- 阿纳斯塔西娅
我的代码是这样的:
$value="Ana"
$sql=mysql_query("Select username from users where username like {"."'".$value."%"."'}");
$row=mysql_fetch_array($sql);
print_r($row);
问题是我只获得了关于用户 Ana 的信息,而不是 Ana 和 Anastasia 应有的信息。
我试过没有括号{}
,但是没有用。
你的 LIKE 子句应该是
like '".$value."%'");
没有 {
或 }
,也不需要所有额外的连接。所以整个命令将是
$sql=mysql_query("Select username from users where username like '".$value."%'");
也就是说,mysql_*
函数已弃用,您对 SQL 注入持开放态度,因此您需要担心更大的问题。您需要使用 PDO 或 MySQLi 和准备好的语句。
编辑: 此外,您没有检索数据的两行。 mysql_fetch_array()
一次只取一行,所以你需要使用循环,像这样:
while($row=mysql_fetch_array($sql)) {
print_r($row);
}
试试这个:-
$sql=mysql_query("Select username from users where username like '".$value."%'");
我正在尝试执行 SQL 查询,该查询将提供我的 table 中以 'Ana%'.
开头的所有用户名有两行是这样的:
- 安娜
- 阿纳斯塔西娅
我的代码是这样的:
$value="Ana"
$sql=mysql_query("Select username from users where username like {"."'".$value."%"."'}");
$row=mysql_fetch_array($sql);
print_r($row);
问题是我只获得了关于用户 Ana 的信息,而不是 Ana 和 Anastasia 应有的信息。
我试过没有括号{}
,但是没有用。
你的 LIKE 子句应该是
like '".$value."%'");
没有 {
或 }
,也不需要所有额外的连接。所以整个命令将是
$sql=mysql_query("Select username from users where username like '".$value."%'");
也就是说,mysql_*
函数已弃用,您对 SQL 注入持开放态度,因此您需要担心更大的问题。您需要使用 PDO 或 MySQLi 和准备好的语句。
编辑: 此外,您没有检索数据的两行。 mysql_fetch_array()
一次只取一行,所以你需要使用循环,像这样:
while($row=mysql_fetch_array($sql)) {
print_r($row);
}
试试这个:-
$sql=mysql_query("Select username from users where username like '".$value."%'");