gpt4 book ai didi

php - 从 MySQL 获取 PHP 值,如果没有记录 - 插入它

转载 作者:行者123 更新时间:2023-11-29 10:42:35 25 4
gpt4 key购买 nike

我有以下代码:

<?php
include 'payment/dbConfig.php';
$email = $_GET['email'];
$account = $_GET['account'];
if($email != ''){
$sql = "SELECT command FROM bots WHERE email='".$email."' AND account='".$account."' limit 1";;
$result = $db->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$value = $row["command"];
}
}

if($value != ''){
echo $value;
$sql = "UPDATE `bots` SET command='' WHERE email='".$email."' AND account='".$account."'";
$db->query($sql);
}else{
$sql = "INSERT INTO `bots`(`email`, `account`) VALUES ('".$email."','".$account."')";
$db->query($sql);
}
}
?>

这看起来确实一团糟,而且这不起作用。
具体来说,它会不断地将相同的 'email''account' 添加到数据库中,即使只有在 $value 为不等于空。

我应该做什么?

最佳答案

您可以用更少的代码来完成此操作。

if ($result->num_rows > 0) {
// Update
$sql = "UPDATE `bots` SET command='' WHERE email='".$email."' AND account='".$account."'";
$db->query($sql);
} else {
// Insert
$sql = "INSERT INTO `bots`(`email`, `account`) VALUES ('".$email."','".$account."')";
$db->query($sql);
}

注意:您直接在查询中传递用户输入 ($_GET) Sanitize所有用户输入($_GET、$_POST)并检查 SQL Injection在执行任何查询之前。

关于php - 从 MySQL 获取 PHP 值,如果没有记录 - 插入它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45204792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com