MySQL SQL 动态条件查询是指根据不同的条件动态生成 SQL 查询语句,以适应不同的查询需求。这种查询方式通常用于处理用户输入的不确定条件,或者在程序运行时根据某些变量的值来决定查询条件。
以下是一个简单的示例,展示如何根据用户输入的条件动态生成 SQL 查询语句:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 用户输入的条件
$keyword = $_GET['keyword'] ?? '';
$dateFrom = $_GET['dateFrom'] ?? '';
$dateTo = $_GET['dateTo'] ?? '';
// 构建动态查询条件
$sql = "SELECT * FROM myTable WHERE 1=1";
if (!empty($keyword)) {
$sql .= " AND name LIKE '%" . $conn->real_escape_string($keyword) . "%'";
}
if (!empty($dateFrom)) {
$sql .= " AND date >= '" . $conn->real_escape_string($dateFrom) . "'";
}
if (!empty($dateTo)) {
$sql .= " AND date <= '" . $conn->real疏散字符串($dateTo) . "'";
}
// 执行查询
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Date: " . $row["date"]. "<br>";
}
} else {
echo "0 结果";
}
$conn->close();
?>
领取专属 10元无门槛券
手把手带您无忧上云