猿问

如何修复:PDOStatement::execute() 期望参数 1 为数组,字符串在

<?php

    if($_POST){

        // include database connection

        include database.php;


        try{


            // insert query 01

            $query = "INSERT INTO invoice_master SET  y_sign=:y_sign, o_sign=:o_sign, tel=:tel, date=:date, terms=:terms, g_weight=:g_weight, n_weight=:n_weight, nop=:nop, payment=:payment, total=:invoice_total";



            // prepare query for execution

            $stmt = $con->prepare($query);


            // posted values

            $y_sign=htmlspecialchars(strip_tags($_POST['y_sign']));

            $o_sign=htmlspecialchars(strip_tags($_POST['o_sign']));

            $tel=htmlspecialchars(strip_tags($_POST['tel']));

            $terms=htmlspecialchars(strip_tags($_POST['terms']));

            $g_weight=htmlspecialchars(strip_tags($_POST['g_weight']));

            $n_weight=htmlspecialchars(strip_tags($_POST['n_weight']));

            $nop=htmlspecialchars(strip_tags($_POST['nop']));

            $payment=htmlspecialchars(strip_tags($_POST['payment']));


            $invoice_total=htmlspecialchars(strip_tags($_POST['invoice_total']));



            // bind the parameters

            $stmt->bindParam(':y_sign', $y_sign);

            $stmt->bindParam(':o_sign', $o_sign);

            $stmt->bindParam(':tel', $tel);

            $stmt->bindParam(':date', $date);

            $stmt->bindParam(':terms', $terms);

            $stmt->bindParam(':g_weight', $g_weight);

            $stmt->bindParam(':n_weight', $n_weight);

            $stmt->bindParam(':nop', $nop);

            $stmt->bindParam(':payment', $payment);


            $stmt->bindParam(':invoice_total', $invoice_total);


            // specify when this record was inserted to the database

            $date=date('m-d-Y');

            /* $stmt->bindParam(':created', $created); */


我想根据第一次插入原始数据更新 invoice_no 和 invoice_name。当我们将发票详细信息插入表格时,我创建了此代码,我想生成自己的发票编号并将其插入表格。我有一个表格,它可以添加原始倍数,所以我需要将该表格数据插入表格,如果您是先生,请让我清楚如何做这些事情..


SMILET
浏览 183回答 1
1回答

慕尼黑8549860

您正在使用PDOStatement::execute():$query1&nbsp;=&nbsp;"UPDATE&nbsp;invoice_master&nbsp;SET&nbsp;invoice_no='$id/2019/2020'&nbsp;,&nbsp;invoice_name='TEMP01'&nbsp;WHERE&nbsp;$id"; &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($stmt->execute($query1)){但是PDO::query(),如果要创建新查询或PDO::exec()要运行查询而不获取结果,则必须使用 :$query1&nbsp;=&nbsp;"UPDATE&nbsp;invoice_master&nbsp;SET&nbsp;invoice_no='$id/2019/2020'&nbsp;,&nbsp;invoice_name='TEMP01'&nbsp;WHERE&nbsp;$id"; &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($con->exec($query1)){
随时随地看视频慕课网APP
我要回答