使用PHP PDO将数据库列从0更新为1

时间:2019-07-18 12:34:19

标签: php sql pdo

我对PHP还是很陌生,正在尝试创建一个便携式计算机登录和注销系统。我希望能够将笔记本电脑的状态从0更新为1,反之亦然,这取决于笔记本电脑是否借用。我之前没有编写过UPDATE查询,并且似乎无法获得提交表单时要更新的值。我也在尝试使用PDO,再次不确定是否正确使用了PDO。我似乎也只针对数组中的最后一项,而不是按提交的相应笔记本电脑。

我曾尝试将已读过的不同答案和论坛中的不同内容整理在一起,但不知道我是否朝着正确的方向前进。我知道我已连接到数据库,并且能够从数据库中获取信息,但无法更新它。我知道表单的帖子,因为我得到了echo $ laptop_name,但是就像我之前说的,这是最后一行,而不是我按下的按钮。

<?php

if(isset($_POST['borrow'])) {

    //  echo '<script language="javascript">';
    //      echo 'alert("hi")';
    //  echo '</script>';

    $STH = $DBH->prepare("SELECT * FROM laptops");
    $STH->execute(array());

    // WHILE LOOP TO LOOK THROUGH THE DIFFERENT ROWS
    while ($row = $STH->fetch()) {
        $laptop_name = htmlspecialchars($row->laptop_name);
        $laptop_id = htmlspecialchars($row->laptop_id);
        $status = htmlspecialchars($row->status);
    }

    $STH = $DBH->prepare("UPDATE laptops SET status = 0 
                          WHERE laptop_name = ? LIMIT 1");
    $STH->execute(array($laptop_name));

    echo $laptop_name;

}

$STH = $DBH->prepare("SELECT * FROM laptops");
$STH->execute(array());

// WHILE LOOP TO LOOK THROUGH THE DIFFERENT ROWS
while ($row = $STH->fetch()) {
    $laptop_name = htmlspecialchars($row->laptop_name);
    $laptop_id = htmlspecialchars($row->laptop_id);
    $status = htmlspecialchars($row->status);

?>

<form class="" action="" method="post">
    <div class=""><?php echo $laptop_name; ?></div>
    <div>

    <?php
    if($status == 1) {
        echo "Available";
    ?>

        <input type="submit" name="borrow" value="Borrow Laptop">

    <?php
    } else {
        echo "Not Available";
    }
    ?>

    </div>
</form>

<?php 
} 
?>

我已经摆脱了错误和变量,因为它现在被标记为重复,而且我不知道它是否基于此-我花了很多时间研究类似的问题,并试图获取信息从这些内容开始,但是就像我说的我很新,非常感谢您的帮助。

0 个答案:

没有答案