使用jquery按钮插入后更新另一个表,PHP 7 [重复]

问题描述 投票:0回答:1

这是我能够插入的Jquery

$(function(){
$(document).on('click', '#addRefBtn', function(e){
   var get_input = $('#qr_ref').val();
   var get_po = $('#get_po').val();
   location.reload();
     $.ajax({
            type: 'POST',
            url: 'validate_qr.php',
            data: {
            qr_code:get_input,
            po_ID: get_po
            },
           success: function(result){
           // console.log(result);
           },
          error: function(result){
          }
       });
     });
   });

这是我在ajax中的url,它是我插入的查询的组成,也是我想要更新的

                        $query = $conn->prepare("INSERT INTO product_sales (product_id, client_id, po_ID, unitPrice, sales_date, updated_date,                                   invoiceTerminated, reference_no, status) 
                                             VALUES (:product_id, :client_id, :po_ID, :unitPrice, :sales_date, :updated_date, :invoiceTerminated, :reference_no, :status)");
                    $query->execute([
                                        'product_id'=> $product_id, 
                                        'client_id'=> $client_id, 
                                        'po_ID'=> $po_ID, 
                                        'unitPrice'=> $etc_price,
                                        'sales_date'=> $date,
                                        'updated_date'=> $updated_date,
                                        'invoiceTerminated'=> $invoiceTerminated,
                                        'reference_no'=> $New_ref_no,
                                        'status'=> $status
                                    ]);

                    $queryUpdate = $conn->prepare("UPDATE backup_sales t1 
                                                   JOIN product t2 ON (t1.model_id = t2.model_id) 
                                                   SET t1.status = '1', 
                                                    t2.prod_status = '1' 
                                                   WHERE t1.po_ID = ':po_ID'
                                                   AND t2.model_id = ':product_id'");

                    $queryUpdate->execute(['po_ID'=>$po_ID, 'product_id'=>$product_id]);

我的方法是否正确?我错过了什么吗?请帮助我,谢谢。

php jquery ajax database pdo
1个回答
1
投票

不引用占位符,这使得它们成为字符串,而不是占位符。在你的UPDATE中,WHERE条款正在这样做,

WHERE t1.po_ID = ':po_ID' AND t2.model_id = ':product_id'

应该:

WHERE t1.po_ID = :po_ID AND t2.model_id = :product_id

所以驱动程序可以用值替换它们。这也应该抛出一个错误,因为你有两个值试图绑定但没有占位符来绑定它。

© www.soinside.com 2019 - 2024. All rights reserved.