我正在尝试将准备好的语句用作最佳实践,但我不断遇到这些错误。
1)您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在')VALUES(?,?,?,?,?,?,?,?,?,?)'附近使用正确的语法
2)未定义索引:C:\ wamp64中的finalExamGrade(适用于所有超全局变量)
3)致命错误:在C:\ wamp64 \
中的布尔值上调用成员函数bind_param()任何修复程序?想法?
PHP / MySQL
require_once("DBCONNECT.php");
$id = $_REQUEST['studentID'];
$last = $_REQUEST['lastName'];
$first = $_REQUEST['firstName'];
$grade1 = $_REQUEST['test1Grade'];
$grade2 = $_REQUEST['test2Grade'];
$grade3 = $_REQUEST['test3Grade'];
$grade4 = $_REQUEST['test4Grade'];
$final = $_REQUEST['finalExamGrade'];
$stmt = $connect->prepare("SELECT * FROM students) VALUES (?, ?, ?, ?, ?,?, ?)");
$stmt->bind_param("issiiiii", $id, $last, $first, $grade1, $grade2, $grade3, $grade4, $final);
$stmt->execute();
var_dump($id, $last, $first, $grade1, $grade2, $grade3, $grade4, $final);
$stmt->close();
$connect->close();
答案 0 :(得分:1)
$stmt = $connect->prepare("SELECT * FROM students) VALUES (?, ?, ?, ?, ?,?, ?)");
上面的代码是所有问题的根源。
students
表后还有一个括号。bind_param
不匹配。有7 ?
要在代码中存储8个变量时。更改为该代码
$stmt = $connect->prepare("INSERT INTO students(col1, col2, col3, col4, col5, col6, col7, col8) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
$stmt->bind_param("issiiiii", $id, $last, $first, $grade1, $grade2, $grade3, $grade4, $final);
由于对此代码进行了讨论,因此我不再进一步解释该代码。