📜  PHP – Mysql LIKE 运算符(1)

📅  最后修改于: 2023-12-03 15:03:40.845000             🧑  作者: Mango

PHP – Mysql LIKE 运算符

在 MySQL 中,使用 LIKE 运算符用于匹配模式,其中模式可以是带通配符的匹配条件。 在 PHP 中,我们可以使用该运算符与 MySQL 数据库进行交互。

语法
SELECT column1, column2, columnN 
FROM table_name 
WHERE columnN LIKE pattern; 
  • column1, column2, columnN : 要返回的列。
  • table_name : 要搜索的表。
  • columnN : 匹配的列。
  • pattern : 匹配的模式。
使用通配符进行匹配

通配符是用于匹配任意字符(零个或多个字符)的特殊字符。

在 MySQL 中,我们有以下两种通配符:

  • % : 匹配任意数目的字符(包括零个字符)。
  • _ : 仅匹配一个字符。

示例:

假设我们有一个表 student,其中包含学生姓名、性别和年龄。 我们想要从表中选择所有姓名以'J'开头的学生。 下面是实现此操作的代码代码片段。

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检测连接是否成功
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$sql = "SELECT * FROM student WHERE name LIKE 'J%'";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // 输出数据
    while($row = mysqli_fetch_assoc($result)) {
        echo "Name: " . $row["name"]. " - Gender: " . $row["gender"]. " - Age: " . $row["age"]. "<br>";
    }
} else {
    echo "0 results";
}

mysqli_close($conn);

该代码将返回以下结果:

Name: John - Gender: Male - Age: 20
Name: Jessica - Gender: Female - Age: 19
注意事项
  • LIKE 运算符不区分大小写。 但是,如果我们希望它在执行匹配时区分大小写,可以在查询中使用 BINARY 运算符。
  • LIKE 运算符非常灵活,可以与其他操作符,例如 AND 和 OR 运算符结合使用。
  • 如果我们要匹配包含特殊字符(例如%,_或')的字符串,则必须使用转义字符。 在 MySQL 中,转义字符是反斜杠(\)。
结论

在 PHP 中使用 MySQL 的 LIKE 运算符可以轻松地搜索模式匹配的数据。 在操作时,请一定注意通配符和转义字符的正确使用。