2012-06-07 54 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