0

以下のコードで2つのエラーが発生しています。

警告:mysqli :: prepare()[mysqli.prepare]:(21S01 / 1136):列数が115行目の...の行1の値数と一致しません

致命的なエラー:119行目の...の非オブジェクトでメンバー関数bind_param()を呼び出す

私はmysqliとphpコードを使用しています。これらのエラーを修正するにはどうすればよいですか?

コード:

$insertsql = "
INSERT INTO Teacher
(TeacherForename, TeacherSurname, TeacherEmail, TeacherAlias, TeacherUsername, TeacherPassword, Code)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?)
";
if (!$insert = $mysqli->prepare($insertsql)) {
// Handle errors with prepare operation here
}                                           

$insert->bind_param("sssssss", $getfirstname, $getsurname,
         $getemail, $getid, $getuser,
         $teacherpassword, $code);

$insert->execute();

if ($insert->errno) {
// Handle query error here
}

$insert->close();
4

1 に答える 1

0

SQLにパラメータが多すぎます。

INSERT INTO Teacher 
    (TeacherForename, TeacherSurname, TeacherEmail, TeacherAlias, TeacherUsername,   
    TeacherPassword, Code)
VALUES
    (?, ?, ?, ?, ?, ?, ?, ?)

7つの列と8つのパラメーターがあります。

于 2012-08-24T20:43:50.620 に答える