[英]Should we always use prepared statements in MySQL and php or when to use these?
[英]Getting multiple errors when trying to use Prepared statements in PHP/MySQL
我正在嘗試使用准備好的語句作為最佳實踐,但我不斷遇到這些錯誤。
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();
$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);
我不再進一步解釋此代碼,因為已經在注釋中對其進行了討論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.