データベースにデータを送信するために使用しているPHPスクリプトがあります。最初のステートメントが正常に実行された場合、第2のステートメントを実行することが可能です最初の文が正常に実行された場合、2番目の文を実行する
UPDATE accounts SET status='1' WHERE user_id='" . $_SESSION['user_id'] ."'
:SQLステートメントが成功し、私はのように見えるUPDATE文を送信したい実行された場合は?はいの場合、どうすればいいですか?ここで
は、私は、データベースにデータを送信するために使用していたスクリプトです:
<?php
session_start();
if (isset($_GET['id']))
$correct = true;
$firstname = $_POST['firstname'] ;
$lastname = $_POST['lastname'] ;
$_SESSION['user_id'];
$status = $_POST['status'] ;
if($correct){
$db = new PDO('mysql:host=localhost;dbname=db', 'root', '');
$query = "INSERT INTO users(firstname, lastname, user_id, status) VALUES (?, ?, ?, ?)";
$stmt = $db->prepare($query);
$stmt->execute(array($firstname, $lastname, $_SESSION['user_id'], $status));
$id = $db->lastInsertId();
header('Location: ../success.php?id='.$id);
}else{
header('Location: ../error.php');
}
?>
両方のSQLステートメントが正常に私が編集1ページに../success.php?id='.$id
をユーザーに送信したい実行している場合:
$query1 = "INSERT INTO users(firstname, lastname, user_id, status) VALUES (?, ?, ?, ?)" ;
$stmt = $db->prepare($query1);
$stmt->execute(array($firstname, $lastname, $_SESSION['user_id'], $status));
// the below code will execute if your insertion is successful
$query2 = "UPDATE accounts SET status='1' WHERE user_id='" . $_SESSION['user_id'] ."'" ;
// set the header location to go to another page
$id = $db->lastInsertId();
header('Location: ../success.php?id='.$id);
}else{
header('Location: ../error.php');
}
を行うことができます
または単にを確認することができますuが更新クエリを実行しようとしたのですか? –
はい、更新クエリが動作しています – John
私はここで$ query2-> execute()を見ることができません。 –