すべてが正常に機能していましたが、何が起こったのかはわかりません。実際、mysql は浮動小数点値を格納せず、integer、varchar などの他のすべての値を受け入れます。コードの一部を掲載しています。
.php でのクエリ
$que_cinstructors = "
INSERT INTO
course_instructors
( usn, i1, i2, i3, i4, i5, i6, i7, i8, i9 )
VALUES
( :usn, :i1, :i2, :i3, :i4, :i5, :i6, :i7, :i8, :i9 )";
$query_params3 = array( ':usn' => $_POST['usn'],
':i1' => $_POST['i1'],
':i2' => $_POST['i2'],
':i3' => $_POST['i3'],
':i4' => $_POST['i4'],
':i5' => $_POST['i5'],
':i6' => $_POST['i6'],
':i7' => $_POST['i7'],
':i8' => $_POST['i8'],
':i9' => $_POST['i9']
);
$statement3 = $db->prepare($que_cinstructors);
$result3 = $statement3->execute($query_params3);
$que_ccredits = "
INSERT INTO
course_credits
( usn, c1, c2, c3, c4, c5, c6, c7, c8, c9, total )
VALUES ( :usn, :c1, :c2, :c3, :c4, :c5, :c6, :c7, :c8, :c9, :total )";
$query_params4 = array( ':usn' => $_POST['usn'],
':c1' => $_POST['c1'],
':c2' => $_POST['c2'],
':c3' => $_POST['c3'],
':c4' => $_POST['c4'],
':c5' => $_POST['c5'],
':c6' => $_POST['c6'],
':c7' => $_POST['c7'],
':c8' => $_POST['c8'],
':c9' => $_POST['c9'],
':total' => $_POST['total']
);
$statement4 = $db->prepare($que_ccredits);
$result4 = $statement4->execute($query_params4);
上記の2つのクエリから、最初の1つは名前を保存しますが、問題ありません。しかし、2 つ目は float 値を格納することです。ここでは、セッション変数から usn を取得しています。挿入は最初のものは問題ありませんが、2 つ目は何も保存されていません。
.sql からのデータベース
CREATE TABLE IF NOT EXISTS `course_instructors` (
`i_id` int(11) NOT NULL AUTO_INCREMENT,
`usn` varchar(7) NOT NULL,
`i1` varchar(50) NOT NULL,
`i2` varchar(50) NOT NULL,
`i3` varchar(50) NOT NULL,
`i4` varchar(50) NOT NULL,
`i5` varchar(50) NOT NULL,
`i6` varchar(50) NOT NULL,
`i7` varchar(50) NOT NULL,
`i8` varchar(50) NOT NULL,
`i9` varchar(50) NOT NULL,
PRIMARY KEY (`i_id`),
UNIQUE KEY `usn` (`usn`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
CREATE TABLE IF NOT EXISTS `course_credits` (
`c_id` int(11) NOT NULL AUTO_INCREMENT,
`usn` varchar(7) NOT NULL,
`c1` float NOT NULL,
`c2` float NOT NULL,
`c3` float NOT NULL,
`c4` float NOT NULL,
`c5` float NOT NULL,
`c6` float NOT NULL,
`c7` float NOT NULL,
`c8` float NOT NULL,
`c9` float NOT NULL,
`total` float NOT NULL,
PRIMARY KEY (`c_id`),
UNIQUE KEY `usn` (`usn`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
すべてが正常に機能していました。私はプロジェクトの他の部分で作業していましたが、今日送信しようとすると、この問題に直面しました。それは私を夢中にさせています..助けてくださいそして、テキストフィールド名は正しいです.