2012-03-02 7 views
-3

これは今日の2回目のデバッグであり、mysql_query INSERT文が私に大きな問題を与えています。もう1つのPHP挿入用バグ

$username = mysql_real_escape_string($_SESSION['username']); 
$type = $_GET['type'];  
$title = $_GET['title']; 
$activitytype = $_GET['activitytype']; 
$desc = $_GET['desc']; 
$thedate = $_GET['deadline']; 
$amtppl = $_GET['amtpeople']; 

したがって、すべての変数は(自分のコンソールでエコーされる)正しいので、純粋にmysqlのINSERT文に基づいています。

mysql_query(" INSERT INTO activity 
(`username`, `title`, `details`, `datetime`, `people`, `activitytype`) 
    VALUES ('$username', '$title', '$desc', '$thedate', '$amtppl', '$activitytype')"); 

ここで間違っているのは誰にでも見られますか?プロパティはすべて正しいです(それぞれ完全に校正してください)。

mysql_error()を使用する。キー1つの

おかげトン、クリスのために

重複エントリ '0': 私はと呼ばれるエラーを取得します。

+2

をこのような何かを警告またはエラーはありますか?また、GETデータへのSQLインジェクションについても注意してください。 – Ryan

+2

mysql_error()を出力できますか? http://php.net/manual/en/function.mysql-error.php –

+2

"大きな問題"が何であるか教えていただけますか? –

答えて

2

あなたのprimary keyにはauto incrementが含まれていないようです。それを作ってくださいauto increment

他の賢明なインデックスの場合は、その列の最後の挿入IDまたは最大IDを取得し、最後の挿入ID +1フォーム固有のキー列を割り当てる、つまり一意にする必要があります。

+1

これは何も変更されません。倍精度文字列はPHPで補間されます。 (また、あなたの答えを投稿する前にあなたのタイプをチェックしてください) – Ryan

+0

私が前に言ったように、私は各値を非常に詳しく読み取ることを証明します。私は正しいプロパティ値を入力しました。 – CCates

1

はあなたのコードの前に

$_GET = array_map('mysql_real_escape_string', $_GET) 
関連する問題