2011-01-23 2 views
0

は、私は次のコードを持っている:テキストはデータベースに入力されません!

$log = "Pooled a football league game"; 
$database->adminActLog($log); 

adminActLog ....私はにこれを入力しようとしています

function adminActLog($act) 
{ 
    $q = "INSERT INTO ".TBL_ADMIN_ACTIVITY." VALUES (NULL, '$_SESSION[id]', '$act', DATE_ADD(NOW(), INTERVAL 6 HOUR))"; 
    mysql_query($q, $this->connection); 
} 

フィールドをVARCHAR(255)です。

データベースに入っていないだけですか?他のフィールドにデータが入力されていますか?

おかげ

+4

あなたの質問への回答ではありませんが、さらに進む前にSQLインジェクションについてお読みください:http://en.wikipedia.org/wiki/SQL_injection –

+0

TBL_ADMIN_ACTIVITYは定数ですか?それが指定されていない場合は、構文エラーが発生します。 – Quentin

+0

エラーログには何が報告されますか? (Webサーバー上でこれを実行しており、コマンドラインに直接出力されたエラーを見ることはできません)。 – Quentin

答えて

-1
" VALUES (NULL, '$_SESSION[id]' 

は全く意味がありません。あなたは次のようにします:

そのままでは、生の文字列 "$ _SESSION [id]"を2番目の列に挿入しようとしています。これはおそらくタイプミスの可能性があり、エラーを引き起こしています。

+2

実際にはそうです:http://ideone.com/7El5bしかし、それは恐ろしい習慣です。 – Crozin

+0

@Crozin - 奇妙なことに、私は数え切れないほど前にそのことをやったことを誓うことができ、失敗しました。それはPHPのバージョンに依存しますか? –

+0

私はこれを覚えている限り、これは本当に長い間サポートされています。しかし、私が言ったように、これは恐ろしいコードなので、 "{$ _SESSION ['id']} ..."のようなものに置き換えてください。 " – Crozin

関連する問題