Mysql
 sql >> Database >  >> RDS >> Mysql

Più istruzioni preparate da MYSQLi

il tuo codice è buono, tuttavia non dovresti nominarli con lo stesso nome $stmt

la prima affermazione è $stmt

quindi dai alla seconda affermazione un altro nome come $stmt2 . o qualunque nome ti piaccia.

esempio:

$stmt = $con->prepare("INSERT INTO reviews (order_id, comment) VALUES (?, ?)");
$stmt->bind_param('is', $order_id, $comment);
$stmt->execute(); 
$stmt->close();


// Update transactions to show review added
$stmt2 = $con->prepare("UPDATE transactions SET review = ? WHERE order_id = ?");
$stmt2->bind_param('ii', 1, $order_id);
$stmt2->execute(); 
$stmt2->close(); 

e per eseguire il debug del codice e vedere dove si trova l'errore, usa questo.

if ($stmt = $con->prepare("INSERT INTO reviews (order_id, comment) VALUES (?, ?)") ){
   $stmt->bind_param('is', $order_id, $comment);
   $stmt->execute(); 
   $stmt->close();
    }
 else {printf("Error message:: %s\n", $con->error);}