<?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); */
// Execute the query
if($stmt->execute()){
$id = $con->lastInsertId($query);
echo "New record created successfully. Last inserted Invoice ID is: " . $id."/2019/2020";
$query1 = "UPDATE invoice_master SET invoice_no='$id/2019/2020' , invoice_name='TEMP01' WHERE $id";
if ($stmt->execute($query1)){
}
}else{
echo "<div class='alert alert-danger'>Record In Error state.</div>";
}
}
// show error
catch(PDOException $exception){
die('ERROR: ' . $exception->getMessage());
}
}
?>
我想根据第一个插入原始数据更新发票编号和发票名称。 我创建此代码是为了当我们将发票详细信息插入到表中时,我想生成自己的发票编号并将其插入到表中。我有一个表,它可以添加原始倍数,所以我需要将该表数据插入到表中,如果您是先生,请告诉我如何做这些事情..
最佳答案
您正在使用PDOStatement::execute()
:
$query1 = "UPDATE invoice_master SET invoice_no='$id/2019/2020' , invoice_name='TEMP01' WHERE $id";
if ($stmt->execute($query1)){
但是你必须使用PDO::query()
,如果您想创建新查询或 PDO::exec()
如果您想运行查询而不获取结果:
$query1 = "UPDATE invoice_master SET invoice_no='$id/2019/2020' , invoice_name='TEMP01' WHERE $id";
if ($con->exec($query1)){
关于php - 如何修复:PDOStatement::execute() 期望参数 1 为数组,在第 64 行 C:\wamp64\www\invoiceTem01-Create.php 中给出的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57138630/