我在线研究了很多,并花了很多时间来解决这个问题。 我的代码
function createNewAccount() {
global $response;
global $conn;
// prepare and bind
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $firstname, $lastname, $email);
// set parameters and execute
$firstname = "John";
$lastname = "Doe";
$email = "john@example.com";
$stmt->execute();
}
我得到的错误是
警告:mysqli :: prepare():无法获取mysqli 第105行的C:\ xampp \ htdocs \ authentication \ register.php
致命错误:未捕获错误:调用成员函数bind_param() C:\ xampp \ htdocs \ authentication \ register.php中的null:106堆栈跟踪: #0 C:\ xampp \ htdocs \ authentication \ register.php(139):createNewAccount()#1 {main}引入 第106行的C:\ xampp \ htdocs \ authentication \ register.php
我似乎无法找到任何解决方案。任何帮助都非常感谢。
答案 0 :(得分:-2)
在使用之前需要设置PHP变量:
function createNewAccount() {
global $response; // If you dont need this remove it
global $conn;
// set parameters and execute
$firstname = "John";
$lastname = "Doe";
$email = "john@example.com";
// prepare and bind
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $firstname, $lastname, $email);
$stmt->execute();
}