Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MYSQLi数据库未更新_Php_Forms_Mysqli - Fatal编程技术网

PHP MYSQLi数据库未更新

PHP MYSQLi数据库未更新,php,forms,mysqli,Php,Forms,Mysqli,我已经找了三个晚上的问题了。它让我做噩梦。请帮忙。我认为我的代码已经很完美了。有人能帮我修改一下密码,告诉我出了什么问题吗 $sql = "SELECT py.idPembayaran, p.idPelajar, p.nama, b.namaBarangan, pb.kuantiti, b.harga, py.jumlahBayaran, py.statusPembayaran, py.statusPenghantaran, pb.tarikhPembelian FROM barangan

我已经找了三个晚上的问题了。它让我做噩梦。请帮忙。我认为我的代码已经很完美了。有人能帮我修改一下密码,告诉我出了什么问题吗

$sql = "SELECT py.idPembayaran, p.idPelajar, p.nama, b.namaBarangan, 
pb.kuantiti, b.harga, py.jumlahBayaran, py.statusPembayaran, 
py.statusPenghantaran, pb.tarikhPembelian FROM barangan b
INNER JOIN pembelian pb on pb.idBarangan = b.idBarangan
INNER JOIN pembayaran py on py.idPembelian = pb.idPembelian
INNER JOIN pelajar p on p.idPelajar = pb.idPelajar";

$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
// output data of each row

while($row = mysqli_fetch_assoc($result)) {

    echo '
    <form method="POST" action="purchaselist.php">

        <tr>
        <input type="hidden" name="idPembayaran" value="<?php echo $idPembayaran ?>">
            <td>'.$row["idPembayaran"].'</td>
            <td>'.$row["idPelajar"].'</td>
            <td>'.$row["nama"].'</td>
            <td>'.$row["namaBarangan"].'</td>
            <td>'.$row["kuantiti"].'</td>
            <td>'.$row["harga"].'</td>
            <td>'.$row["jumlahBayaran"].'</td>


            <td>
                <select name="statusPembayaran">
                    <option value="In process">In process</option>
                    <option value="Successful">Successful</option>
                </select>
            </td>

            <td>
                <select name="statusPenghantaran">
                    <option value="In process">In process</option>
                    <option value="Arrived">Arrived</option>
                </select>
            </td>

            <td>'.$row["tarikhPembelian"].'</td>
            <td><input type="submit" name="submit" value="Update"></td>
        </tr>
    </form>
    ';
}
}

if (!empty($_POST["submit"])) {

$idPembayaran = $_POST["idPembayaran"];
$statusPembayaran = $_POST["statusPembayaran"];
$statusPenghantaran = $_POST["statusPenghantaran"];

$sql = "UPDATE pembayaran SET statusPembayaran ='".$statusPembayaran."', statusPenghantaran ='".$statusPenghantaran."' WHERE idPembayaran = '".$idPembayaran."'";

if(mysqli_query($conn, $sql)) {

    echo "
        <script>
        alert('test');
        window.location.href = 'purchaselist.php';
        </script>
    ";
}
else {
    echo "Update error.";
}
}
$sql=“选择py.idPembayaran、p.idPelajar、p.nama、b.namaBarangan、,
pb.Kuantti,b.harga,py.jumlahBayaran,py.statusPembayaran,
barangan b的py.statusPenghantaran,pb.Tarikhpenbelian
pb.idBarangan=b.idBarangan上的内连接pembelian pb
内部连接pembayaran py on py.idpenbelian=pb.idpenbelian
p.idPelajar=pb.idPelajar”上的内部连接pelajar p;
$result=mysqli\u查询($conn,$sql);
如果(mysqli_num_行($result)>0){
//每行的输出数据
while($row=mysqli\u fetch\u assoc($result)){
回声'

当您首先为字段
idPembayaran
设置值时,您已经

<input type="hidden" name="idPembayaran" value="<?php echo $idPembayaran ?>">

echo“Update error.”
这对您没有帮助。请改用
mysqli\u error($conn)
并启用错误报告。感谢您的快速回复。但这不是问题所在。
if(mysqli\u query($conn,$sql)){
已执行,并且没有错误,但在我按下按钮后数据库没有更新。关于>?使用
mysqli\u受影响的行()
还有。另外,当你完成后,你可能会想把连接的SQL字符串换成一个准备好的语句。这种代码很容易受到SQL注入的攻击。事实上,如果你的输入包括引号、撇号或其他mySQL语法,你可能会用错误的输入中断你的查询。谢谢你,兄弟。我现在可以睡觉了终于有人解决了我的问题!
<input type="hidden" name="idPembayaran" value="<?php echo $row["idPembayaran"]; ?>">