【发布时间】:2020-03-30 11:09:28
【问题描述】:
我的 php mysqli 文件出现错误。
致命错误:未捕获的错误:调用成员函数 prepare() on 空入 C:\Users\driek\Desktop\xampp\htdocs\driekvandermeulen.nl_3.0\php\main\contact1.php:20 堆栈跟踪:#0 C:\Users\driek\Desktop\xampp\htdocs\driekvandermeulen.nl_3.0\php\main\contact1.php(33): writeDatabase('dsgd', 'Lorem@lorem.nl', 'gf', 'awesrdtfgh') #1 {main} 投入 C:\Users\driek\Desktop\xampp\htdocs\driekvandermeulen.nl_3.0\php\main\contact1.php 第 20 行
它没有识别第 20 行的准备语句,但我看不出它有什么问题。
function dbConnect(){
$servername = "localhost"; // Localhost stays untouched
$username = "dbUser"; // Username of the MySQL database user
$password = "R4b3Eg5Jt4Y9GKqB"; // Password of the MySQL database user
$conn = new mysqli($servername, $username, $password); // Create connection
if ($conn->connect_error) { // Check connection
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
return;
}
function writeDatabase($p_sName,$p_sEmailAddress,$p_sSubject,$p_sMailContent){
$conn = dbConnect();
// -------------------- prepare and bind --------------------------------
//$stmt = $conn->prepare("INSERT INTO `driekvandermeulen.tbl_emailcontacts` (`firstname`, `lastname`, `email`) VALUES (?, ?, ?, ?)");
$stmt = $conn->prepare();
$stmt->bind_param($p_sName,$p_sEmailAddress,$p_sSubject,$p_sMailContent);
$stmt->execute(); // Actual save into the database
}
【问题讨论】:
-
试着在你的函数中说
return $conn -
使用这个函数会导致“Too many connections”错误。根本不可能有这样的功能