2012-06-07 60 views
0

我有一个表单,通过电子邮件将表单数据发送到一个电子邮件地址。我也想将这些信息存储到数据库中。我遇到的问题是我从一个表中提取信息online_rental_db,以便从中发送信息给我们。我也想将表单信息存储到另一个表online_rental_request中。MYSQL读取和写入不同表格

<?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错误!

+0

什么是错误? – wroniasty

+1

从'$ sql'中删除'SELECT * FROM $ table WHERE ID = $ rentID',所以它从'INSERT INTO'开始,它应该插入正确。 –

+0

那么你是什么意思? $ sql =“INSERT INTO online_rental_request(name,email,id,description,model,category)VALUES('$ _POST [name]','$ _ POST [email]','$ rentID','$ description','$ model','$ category')SELECT * FROM $ table WHERE ID = $ rentID“;我知道只是使用INSERT的作品,但我需要来自其他表格的信息,如描述,类别,模型等。 –

回答

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'];

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