кодът ви е добър, но не трябва да ги наричате с едно и също име $stmt
първият оператор е $stmt
след това дайте на втория израз друго име като $stmt2
. или каквото име искате.
пример:
$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();
и за да отстраните грешки в кода си и да видите къде е грешката, използвайте това.
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);}