2012-04-20 15 views
0

同じデータベース内の2つの異なるテーブルにデータを挿入しようとしていますが、1つのデータベースに挿入しようとすると、 ($のdesc_query)それはここで任意のテーブルPHPを使用して別の2つのテーブルにデータを挿入

は更新されません私のコードです:

$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

$ ??? –

+1

あなたのコードをa_dれているもの。非常に不完全です。すべての変数comから? –

+1

var_dumpを使用して$ a_dの値を確認しようとしています –

答えて

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

あなたはクエリをエコーすると、データベース上で直接それらを実行しようとしたことがありますか?

データベースに関する情報がなくても、クエリ自体が有効かどうかはわかりません。