2012-04-20 63 views
0

我想插入數據到兩個不同的表在同一個數據庫,如果我嘗試將其插入到一個數據庫,它的工作,但是,一旦我插入第二個查詢到我的代碼($ desc_query),它不會更新任何表插入數據到兩個單獨的表使用php

這裏是我的代碼:

$name= strip_tags($_POST['name']); 
    $l_name= strip_tags($_POST['last_name']); 

    $c_id = strip_tags($_POST['company_id']); 
    $a_d = strip_tags($_POST['add_description']); 
    $d_t = strip_tags($_POST['desc_text']); 

$connect = mysql_connect('localhost','id','pass') or die ("couldn't connect!"); 

mysql_select_db('database_db') or die('could not connect to database!'); 

//inserting names 

$job_query=mysql_query("INSERT INTO names VALUES ('', '$name', '$l_name')"); 

    //inserting a new description if needed. (this is the part that ruins everything) 
if($a_d == 'true'){ 
    $desc_query=mysql_query("INSERT INTO descriptions VALUES ('','$c_id','$d_t')"); 
} 
+0

什麼是$ A_D ??? – 2012-04-20 21:50:47

+1

你的代碼。非常不完整,在哪裏做所有的變量com從? – 2012-04-20 21:51:39

+1

嘗試使用var_dump並查看$ a_d – 2012-04-20 21:51:51

回答

1

你可能得了其中的某些字符(如'和「)正在打破SQL查詢的問題(更不用說打開你的應用的SQL注入攻擊)。

我會推薦殺毒所有用戶提供的數據像這樣:

$name = mysql_real_escape_string(strip_tags($_POST['name']), $connect); 
$l_name = mysql_real_escape_string(strip_tags($_POST['last_name']), $connect); 
... 
$d_t = mysql_real_escape_string(strip_tags($_POST['desc_text']), $connect); 

始終的假設下操作,即在用戶要輸入一些古怪的或惡意的,可能(也可能不會)打破你的SQL

0

您是否嘗試過呼應了查詢,然後直接在數據庫上運行呢?

沒有關於數據庫的更多信息,我們無法確定查詢本身是否有效。

相關問題