我正在使用以下代码从 MySQL 表中选择数据。有人可以告诉我如何改进它,因为它看起来有点乱吗?
此外,每次从数据库中查询客户时,我都需要运行 UPDATE 语句来增加“视图”列中的值。数据库中的每个客户行都有一个名为“views”的列。例如,假设 ABC Corp 有 100 次观看。如果我搜索 ABC Corp 并且数据库返回记录,则该记录的“views”列应更新为 101。最好的方法是什么?
if ($search && ($group && $group !== "*")) {
$sql = "SELECT * FROM customers WHERE description LIKE :description AND groupId LIKE :groupId";
$result = $conn->prepare($sql);
$result->bindValue(":description", "%" . $search . "%", PDO::PARAM_STR);
$result->bindValue(":groupId", $groupId, PDO::PARAM_INT);
} else if ($search) {
$sql = "SELECT * FROM customers WHERE description LIKE :description";
$result = $conn->prepare($sql);
$result->bindValue(":description", "%" . $search . "%", PDO::PARAM_STR);
} else if ($group !== "*") {
$sql = "SELECT * FROM customers WHERE groupId LIKE :groupId";
$result = $conn->prepare($sql);
$result->bindValue(":groupId", $groupId, PDO::PARAM_INT);
} else {
$sql = "SELECT * FROM customers";
$result = $conn->prepare($sql);
}