2012-04-23 30 views
1

私はphp関数を作成しようとしています。ユーザーがメッセージを送信する人のリストをチェックすることができますが、それらをデータベースに1つずつ挿入します。 は、ここでのコードである:の値をチェックボックスに入れてmysqlデータベースに挿入します

$message=$_POST['body']; 
    $x = $_POST['authors']; 
    if(isset($x ) && is_array($x)) { 
     $fulexp = implode(",", $x); 
foreach ($x as $item) 
    { 
    $fulexp = implode(",", $x); 
    $var = intval($item);  
    mysql_select_db('mydb'); 
    $re = mysql_query("INSERT INTO member_message_member (member_id1, member_id2,conference_id, message) 
        VALUES (6, $var, 1, $message)"); 

    if (!$re) {echo "ya a7maaaad";} 
    } 
} 
else {echo "enta mush msyttar";} 
mysql_close($con); 
} 

私がメッセージを送信するとき、何がデータベースに挿入されません。誰でも助けることができますか?

+2

もちろん、あなたがSOに投稿する前に、実際に実行されているコードの行をチェックし、挿入された変数の後にSQLクエリの内容を出力し、発生したMySqlエラーメッセージを出力するような基本的なデバッグを行いました。その結果は何でしたか? – mellamokb

+0

@mellamokb結果がSQLクエリが実行されなかった、私は質問にこれを記載していると思います(データベースには何も挿入されていません) –

+0

PHPが実際にヒットしていることを検証した場合、SQLクエリは "実行しません"そのコード行。それらは正常に実行されるか、何らかのエラーメッセージを報告します。あなたが期待した結果( 'member_message_member'に追加された行)を得られなかったので、何らかのエラーメッセージを生成しているに違いありません。おそらく、 '$ message'は文字列値ですが、一重引用符で囲まれていませんか? – mellamokb

答えて

2

$リンクは以下のように定義する必要があり、

mysql_select_db('mydb', $link); 

で試してみてください:

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 

また、ループの中

$fulexp = implode(",", $x); 

ラインとすることができる冗長です。

関連する問題