2011-07-20 6 views
1

ちょっと、私はこれがmysqlにデータを挿入するための安全な方法ではないことを知っていますが、これは例えばmysqlテーブルにこれらのfeildを持つデータを追加しないでください。フォームデータは追加されず、MySqlテーブルは空のままです

<?php 
session_start(); 
if(!isset($_SESSION['c_id']) || !isset($_SESSION['sid']) ||!isset($_SESSION['ip'])) { 
    header("Location: login.php"); 
    exit; 
} 
?> 

<?php 
$cid1= $_POST['hiddencid']; 
$update= $_POST['hiddenupdate']; 
$time = strftime("%b %d %Y %X"); 

mysql_connect('localhost', 'xxx', 'xxx') or die(mysql_error());  
mysql_select_db("xxx") or die(mysql_error()); 

mysql_query("INSERT into newsfeed (cid,update,time) values ('$cid1','$update','$time')"); 


echo "Profile Updated"; 

?>` 
+0

あなたの質問は何ですか? –

+0

あなたはエラーを表示できますか? – Subdigger

+0

SQLインジェクションを修正してください。 –

答えて

3

あなたの列名の更新は特別な扱いが必要です。 ANSI SQLモードを有効にした状態で二重引用符を使用するか、バックティックを使用します。

http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html

INSERT into newsfeed (cid,`update`,time) values ('$cid1','$update','$time'); 
+1

列名は、 –

+0

ありがとうJK私はそれを実現し、問題を解決することができました=] –

+0

ニース。受け入れたものとしてマークすることを忘れないでください。 –

0

重要なことは、予約済みのMySqlステートメントを処理することです。次は、mysql_query()の後にor die(mysql_error())を追加する必要があります。あなたがそれを使用しなかったので、あなたはmysqlエラーを受け取っていませんでした。

その後にクエリを再フォーマット:

INSERT INTO `newsfeed` (`cid`,`update`,`time`) VALUES ('$cid1','$update','$time') 

を忘れないでください:updatetimeは予約ステートメントです。

+0

Thnku FlyBy私は問題をあまりにも簡単に解決することができました。 =]そしてよく私は使用するか死ぬか(mysql_error())...このクエリは単なる例でした –

関連する問題