PHP是一种广泛使用的开源脚本语言,尤其适用于Web开发。在PHP中,使用SQL查询数据库时,WHERE
子句用于指定查询的条件,以便从数据库表中检索满足特定条件的记录。
WHERE
子句允许开发者根据不同的条件组合查询数据,提供了极大的灵活性。WHERE
子句,使得数据库操作更加直观易懂。BETWEEN
、NOT BETWEEN
来查询一个范围内的值。AND
、OR
、NOT
来组合多个条件。LIKE
进行模式匹配。<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 简单条件查询
$sql = "SELECT id, name FROM users WHERE age > 25";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
// 范围条件查询
$sql = "SELECT id, name FROM products WHERE price BETWEEN 10 AND 50";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
// 逻辑条件查询
$sql = "SELECT id, name FROM orders WHERE status = 'completed' AND total_amount > 100";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
// 模糊匹配查询
$sql = "SELECT id, name FROM products WHERE name LIKE '%apple%'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
$conn->close();
?>
原因:
解决方法:
原因:
解决方法:
// 使用PDO预处理语句
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
$stmt->execute(['username' => $username, 'password' => $password]);
$user = $stmt->fetch();
通过以上方法,可以有效地解决PHP查询中遇到的常见问题,并确保代码的安全性和效率。
领取专属 10元无门槛券
手把手带您无忧上云