私はPHPとMySQLに少し慣れていることを前に説明します。セッション変数をMySQLデータベースに書き込もうとしています。 HTMLフォームを使用して最初のレコードを送信できたが、これを正しく実行したと思ったが、追加レコードを送信できなかった。データベースには1つのレコードしか表示されず、新しいレコードを送信しようとするとエラーは発生しませんが、データベースには表示されません。PHP/MySQL - 1レコードが挿入された後に値を送信できません
私のフォームを複数のページにわたって実施されているので、私は私のPHPコードが含まれます:
<?php
$con = mysql_connect("localhost","user","mypassword");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydatabase", $con);
mysql_query("
INSERT INTO imaging (os,MAC,Model,AntiVirus,Browser,Email,Connectivity,Sound,Ports)
VALUES ('".$_SESSION['imaging2']."','".$_SESSION['imaging3']."','".$_SESSION['imaging4']."','".$_SESSION['antivirus']."','".$_SESSION['browser']."','".$_SESSION['email']."','".$_SESSION['connectivity']."','".$_SESSION['sound']."','".$_SESSION['ports']."')
OR die("Could not update: ".mysql_error());
mysql_close($con);
?>
私のテーブル名は次のように私のデータベースの撮像
私のコラムは以下のとおりです。
id - My primary key field set to Auto_Increment, type is int(11)
os - text
MAC - text
Model - text
AntiVirus - text
Browser - text
Email - text
Connectivity - text
Sound - text
Ports - text
少なくとも1回は働いたので、これは主キーフィールドのコード解釈の問題であることが明らかです。
いつでも大変助かります。そしてねえ、誰が知っている?たぶん、私の目を交差させずにもう一度クリアするのに十分長い間、コンピュータから離れていくだけの問題かもしれません。 :)
私のPHPコードのIDフィールドへの参照がありませんか?
do a print_r($ _ SESSION);挿入する前に実際にそこに値があることを確認してください。また、ちょうどfyi:すべてのデータベースフィールドを小文字にしておき、それらの入力を消毒する必要があります。 – wesside