Php MySQL查询执行两次

Php MySQL查询执行两次,php,mysql,Php,Mysql,大家早上好:) 我是这里的新手,我有一个问题,不能用一个在我的数据库上执行两次的简单查询来解决它,我不明白为什么 你能和我核对一下吗?出了什么问题 我的请求是一个“INSERT-INTO”请求,它在数据库中创建了两行,一行为空,另一行为正确填充 这是我的密码: <?php $hostname = "localhost"; $username = "root"; $password = ""; $db = "stocksmasques"; $dbh = new PDO("mysql:

大家早上好:)

我是这里的新手,我有一个问题,不能用一个在我的数据库上执行两次的简单查询来解决它,我不明白为什么

你能和我核对一下吗?出了什么问题

我的请求是一个“INSERT-INTO”请求,它在数据库中创建了两行,一行为空,另一行为正确填充

这是我的密码:

    <?php
$hostname = "localhost";
$username = "root";
$password = "";
$db = "stocksmasques";
$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);

if (isset($_POST['operation']) && isset($_POST['value']) && isset($_POST['stock'])) {
    $operation = $_POST['operation'];
    $value = intval($_POST['value']);
    $stock = $_POST['stock'];
    $date = strval(date('d/m/Y'));
}

switch ($operation) {
    case "increment":
        $newStock = $stock + $value;
        echo "Le stock est mis a jour :".$newStock." ";
        break;
    case "decrement":
        $newStock = $stock - $value;
        echo "Le stock est mis a jour :".$newStock." ";
        break;
    default:
        echo "Le stock reste inchangé :".$stock." ";
}

$setNewStock = $dbh->query("UPDATE stock SET stock ='$newStock'");

$makeLog = $dbh->query("INSERT INTO logs (log, day) VALUES ('$newStock','$date')");

?>

<form action="index.php">
    <button type="submit">Retour</button>
</form>

没有证据表明INSERT语句被调用了两次。$makeLog行下面有代码吗?第一个
if
的close}是否应该包含所有插入逻辑?目前,它似乎会在每次加载页面时运行。您好:)谢谢您的回复,谢谢大家,@NigelRen您是对的!!在一开始,当我测试我的表单是否运行良好时,我创建了这个“if”,并使用var_转储检查了这些变量,但是当我继续编写代码时,我忘了在if中编写它!所以它执行了两次,我不知道为什么,但我解决了我的问题。没有证据表明INSERT语句被调用了两次。$makeLog行下面有代码吗?第一个
if
的close}是否应该包含所有插入逻辑?目前,它似乎会在每次加载页面时运行。您好:)谢谢您的回复,谢谢大家,@NigelRen您是对的!!在一开始,当我测试我的表单是否运行良好时,我创建了这个“if”,并使用var_转储检查了这些变量,但是当我继续编写代码时,我忘了在if中编写它!所以它执行了两次,我不知道为什么,但我解决了我的问题。