簡體   English   中英

如何在查詢中更新僅為LEFT JOIN的表?

[英]How can I update a table that is only a LEFT JOIN in my query?

我想更新表中只有CHARGES的值。 我有一個錯誤:

注意 :未定義的索引:第4行的C:\\ xampp \\ htdocs \\ VCCDMStry \\ pages \\ save_receipt.php中的id

注意 :未定義的索引:在第5行的C:\\ xampp \\ htdocs \\ VCCDMStry \\ pages \\ save_receipt.php中收費

致命錯誤 :帶有消息'SQLSTATE [42000]的未捕獲異常'PDOException':語法錯誤或訪問沖突:1064 SQL語法中有錯誤; 檢查與MariaDB服務器版本對應的手冊,以便在C:\\ xampp \\ htdocs \\ VCCDMStry \\ pages \\ save_receipt.php中的第1行'WHERE id = NULL'附近使用正確的語法:8堆棧跟蹤:#0 C :\\ xampp \\ htdocs \\ VCCDMStry \\ pages \\ save_receipt.php(8):PDOStatement-> execute(Array)#main {main}在第8行的C:\\ xampp \\ htdocs \\ VCCDMStry \\ pages \\ save_receipt.php中拋出

這是我的fetch代碼:

<?php
    $sql = "SELECT * FROM tenant 
            LEFT JOIN stall ON stall.stall_id = tenant.stall_id
            LEFT JOIN rent ON rent.tenant_id = tenant.tenant_id
            LEFT JOIN receipt ON receipt.tenant_id = tenant.tenant_id
            LEFT JOIN rate ON rate.rate_id = tenant.rate_id
            WHERE rent.rent_status = ? AND rate.rate_id = ?
    ";
    $query = $conn->prepare($sql);
    $query->execute(array(1,1));
    $fetch = $query->fetchAll();

    foreach ($fetch as $key => $value) { ?>                         
    <tr>
        <td>
            <?=$value['tenant_fname']." ".$value['tenant_mname']." ".$value['tenant_lname'];?>
        </td>
        <td>
            <?=$value['stall_number'];?>
        </td>
        <td>
            <?=$value['charges'];?>
        </td>
        <td class = "center" style = "text-align:center;">
            <a href = "#receipt<?php echo $value['tenant_id'];?>" data-toggle="modal" class="btn btn-outline btn-xs btn-primary"> Make Receipt
            </a>
        </td>
    </tr>   
    <?php include 'receipt_modal.php';?>              
<?php }?>

這是我更新的代碼:

<?php    
    include 'dbcon.php';

    $receipt_id = $_POST['id'];
    $charges = $_POST['charges'];

    $query = $conn->prepare("UPDATE receipt SET charges = ? , WHERE id = ? ");
    $query->execute(array($charges,$receipt_id));

    header ('location:elecbills.php');
?>  

莫代爾的代碼:

<div class="form-group">
    <input type = "hidden" class="form-control" name= "id"  value = "<?php echo $value['tenant_id'];?>">
    <label class="col-sm-4 control-label">PRESENT </label>: <input class = "custom-input" id="charges" name="charges"></input> 
</div>

引發致命錯誤導致您在'WHERE'之前使用逗號

UPDATE receipt SET charges = ? , WHERE id = ?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM