1

クエリ結果やその他の変数のデータを1つの挿入クエリに挿入するにはどうすればよいですか?

サンプル:

$id = $_POST['id'];  
$address = $_POST['address'];  
$email = $_POST['email'];

$query = "INSERT INTO info_table(fname, lname, address, email) VALUES (SELECT fname, lname, FROM info WHERE id = '$id')";  
$result = db->prepare($query);  
$result->execute();  

$address選択した結果変数と$email一緒に挿入するにはどうすればよいですか?

4

2 に答える 2

2

これにより、クエリのトリックが実行されます。

INSERT INTO info_table (
    fname, 
    lname, 
    address, 
    email
) 
SELECT 
    fname, 
    lname,
    ':address',
    ':email' 
FROM 
    info 
WHERE 
    id = ':id' 

ここでは準備を使用していません。:addressあなたは本当にパラメータ、、、にバインドする必要があり:emailます:id

$result = db->prepare($query);  
$result->bindParam(':id', $id, PDO::PARAM_STR);
$result->bindParam(':email', $email, PDO::PARAM_STR);
$result->bindParam(':address', $address, PDO::PARAM_STR);
$result->execute();
于 2012-12-28T14:24:22.810 に答える
-1

あなたの質問に正確に答える:

$query = "INSERT INTO MyInsecureTable (fname, lname, address, email) SELECT fname, lname, '$address', '$email' FROM info WHERE id = '$id'";

しかし、それは怖いです。私から。

于 2012-12-28T14:22:24.610 に答える