0

フォームデータを電子メールアドレスに電子メールで送信するフォームがあります。また、この情報をデータベースに保存したいと思っています。私が遭遇している問題は、online_rental_dbという1つのテーブルから情報を取得して、そこからの情報を送信できるようにすることです。フォーム情報も別のテーブルonline_rental_requestに保存したいと思います。

<?php

$rentID = $_POST['current_id'];

$db=mysql_connect ("localhost","test","test") or die(mysql_error());
mysql_select_db("rentals");

$table="online_rental_db";
$sql = "SELECT * FROM $table WHERE ID=$rentID";
$query = mysql_query($sql) or die(mysql_error());
$rentals = mysql_fetch_assoc($query);
$description = ucwords(strtolower($rentals['Description']));
$image = $rentals['Image'];
$download = $rentals['PDF'];
$bytes =  filesize($rentals['PDF']);
$ID = $rentals['ID'];
$CTGID = $rentals['CTGID'];
$category = $rentals['Category'];
$model = $rentals['model'];

$sqlで使用してみました

$sql = "SELECT * FROM $table WHERE ID=$rentID INSERT INTO online_rental_request (name, email, id, description, model, category) VALUES ('$_POST[name]','$_POST[email]','$rentID','$description','$model','$category')";

しかし、それは私にSQLエラーを与えます!

4

2 に答える 2

0

どうですか

$sql = "INSERT INTO online_rental_request (name, email, id, description, model, category) SELECT '$_POST[name]','$_POST[email]', id, description, model, category  FROM $table WHERE ID=$rentID ";

したがって、次の形式になります。

INSERT INTO online_rental_request (name, email, id, description, model, category) 
SELECT 
   '$_POST[name]',
   '$_POST[email]', 
   id, 
   description, 
   model, 
   category 
FROM $table 
WHERE ID=$rentID 

そうすれば、名前と電子メールを指定できますが、から情報を挿入したり、に情報を$table挿入したりできonline_rental_requestます。

于 2012-06-07T22:18:53.680 に答える
0

online_rental_db テーブルから online_rental_request テーブルに直接挿入する場合は、次の手順を実行する必要があります。

$name = mysql_escape_string($_POST['name']);
$email = mysql_escape_string($_POST['email']);
$sql = "INSERT INTO online_rental_request (name, email, id, description, model, category) SELECT '$name', '$email', id, description, model, category FROM $table WHERE ID=$rentID";

ところで、ユーザーが送信した値をエスケープすることを忘れないでください。これを行う必要があります:

$rentID = mysql_escape_string($_POST['current_id']);

または、より良い $rentID = (int)$_POST['current_id'];

于 2012-06-07T22:27:41.583 に答える