mysql通过邮件和客户端更新查询

我的数据库更新确实存在问题:我需要使用$ _post格式的数据更新数据库,但不会更新。

if(isset($_POST["submit"]))
{
$query = "SELECT COUNT(*) AS count FROM newsletter WHERE client = ? AND email = ?";
$sql = $dbp->prepare($query);
$sql->execute(array($_POST["client"],$_POST["email"]));
$count = $sql->fetch(PDO::FETCH_ASSOC);
if($count["count"] == "0")
{
  $query = "UPDATE newsletter SET tip = 'subscriber' WHERE client = ? AND email = ?";
  $sql = $dbp->prepare($query);
  $sql->execute(array($_POST["client"],$_POST["email"]));
}
echo '<h4>congrats! '.$_POST["email"].'</h4>';
exit;
}

以及$ _POST数据形式的代码。

 <form method="post" action="?">

            <div>
                <div style="display:inline-block;margin-bottom:20px;"><input type="checkbox" name="submit" value="Confirm"  required> <span style="font-family: Verdana,Arial,Helvetica,sans-serif; font-size:12px;">confirm</span></div>
                <div style="display:inline-block;"><input type="submit" name="submit" value="Confirm"/></div>
            </div> 
            <input type="hidden" name="email" value="<?php echo $_GET["email"]; ?>" />
          <input type="hidden" name="client" value="<?php echo $_GET["client"]; ?>" />
        </form>
Shuzhenabc123 回答:mysql通过邮件和客户端更新查询

您的问题出在这里的逻辑执行中:

if($count["count"] == "0")
{
     $query = "UPDATE newsletter SET tip = 'subscriber' WHERE client = ? AND email = ?";

如果计数为0,则没有行要更新。当计数为0时,您需要插入。如果要更新,则需要一行来更新。

本文链接:https://www.f2er.com/3094198.html

大家都在问