gpt4 book ai didi

php - 修复 mysql 错误 mysqli_stmt_bind_param()

转载 作者:行者123 更新时间:2023-11-29 20:13:27 26 4
gpt4 key购买 nike

我创建了一个表格,以便学生可以输入他们的信息。学生输入的所有数据都将存储在MYSQL数据库中。但是,在将数据输入表单字段后单击提交按钮时,屏幕上会显示一些错误消息。这些是以下错误消息:

Warning: mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt, boolean given in C:\xampp\htdocs\MYSQL\studentadded.php on line 317

Warning: mysqli_stmt_execute() expects parameter 1 to be mysqli_stmt, boolean given in C:\xampp\htdocs\MYSQL\studentadded.php on line 327

Warning: mysqli_stmt_affected_rows() expects parameter 1 to be mysqli_stmt, boolean given in C:\xampp\htdocs\MYSQL\studentadded.php on line 331 Error Occurred

Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\xampp\htdocs\MYSQL\studentadded.php on line 357

Warning: mysqli_stmt_close() expects parameter 1 to be mysqli_stmt, boolean given in C:\xampp\htdocs\MYSQL\studentadded.php on line 361

这是代码:

<!DOCTYPE html>
<html>

<head>

<title>Add Student</title>

</head>
<body>

<?php



if(isset($_POST['submit'])){



$data_missing = array();



if(empty($_POST['first_name'])){



// Adds name to array

$data_missing[] = 'First Name';



} else {



// Trim white space from the name and store the name

$f_name = trim($_POST['first_name']);



}



if(empty($_POST['last_name'])){



// Adds name to array

$data_missing[] = 'Last Name';



} else{



// Trim white space from the name and store the name

$l_name = trim($_POST['last_name']);



}



if(empty($_POST['email'])){



// Adds name to array

$data_missing[] = 'Email';


} else {


// Trim white space from the name and store the name

$email = trim($_POST['email']);



}



if(empty($_POST['street'])){



// Adds name to array

$data_missing[] = 'Street';



} else {



// Trim white space from the name and store the name

$street = trim($_POST['street']);



}



if(empty($_POST['city'])){



// Adds name to array

$data_missing[] = 'City';



} else {



// Trim white space from the name and store the name

$city = trim($_POST['city']);



}



if(empty($_POST['state'])){



// Adds name to array

$data_missing[] = 'State';



} else {



// Trim white space from the name and store the name

$state = trim($_POST['state']);



}



if(empty($_POST['zip'])){



// Adds name to array

$data_missing[] = 'Zip Code';



} else {



// Trim white space from the name and store the name

$zip = trim($_POST['zip']);



}



if(empty($_POST['phone'])){



// Adds name to array

$data_missing[] = 'Phone Number';



} else {



// Trim white space from the name and store the name

$phone = trim($_POST['phone']);



}



if(empty($_POST['birth_date'])){



// Adds name to array

$data_missing[] = 'Birth Date';



} else {



// Trim white space from the name and store the name

$b_date = trim($_POST['birth_date']);



}



if(empty($_POST['sex'])){



// Adds name to array

$data_missing[] = 'Sex';



} else {



// Trim white space from the name and store the name

$sex = trim($_POST['sex']);



}



if(empty($_POST['lunch'])){



// Adds name to array

$data_missing[] = 'Lunch Cost';



} else {



// Trim white space from the name and store the name

$lunch = trim($_POST['lunch']);



}



if(empty($data_missing)){



require_once('mysqli_connect.php');



$query = "INSERT INTO students (first_name, last_name, email,

street, city, state, zip, phone, birth_date, sex, date_entered,

lunch_cost, student_id) VALUES (?, ?, ?,

?, ?, ?, ?, ?, ?, ?, NOW(), ?, NULL)";



$stmt = mysqli_prepare($dbc, $query);



/*i Integers

d Doubles

b Blobs

s Everything Else */


//below is line 317 where the error is happening
mysqli_stmt_bind_param($stmt, "ssssssisssd", $f_name,

$l_name, $email, $street, $city,

$state, $zip, $phone, $b_date,

$sex, $lunch);


//below is line 327 where the error is happening
mysqli_stmt_execute($stmt);


//below is line 331 where the error is happening
$affected_rows = mysqli_stmt_affected_rows($stmt);



if($affected_rows == 1){



echo 'Student Entered';



mysqli_stmt_close($stmt);



mysqli_close($dbc);



} else {



echo 'Error Occurred<br />';
//below is line 357 where the error is happening
echo mysqli_error();


//below is line 361 where the error is happening
mysqli_stmt_close($stmt);



mysqli_close($dbc);



}



} else {



echo 'You need to enter the following data<br />';



foreach($data_missing as $missing){



echo "$missing<br />";



}


}



}



?>



<form action="http://localhost/studentadded.php" method="post">



<b>Add a New Student</b>



<p>First Name:

<input type="text" name="first_name" size="30" value="" />

</p>



<p>Last Name:

<input type="text" name="last_name" size="30" value="" />

</p>



<p>Email:

<input type="text" name="email" size="30" value="" />

</p>



<p>Street:

<input type="text" name="street" size="30" value="" />

</p>



<p>City:

<input type="text" name="city" size="30" value="" />

</p>



<p>State (2 Characters):

<input type="text" name="state" size="30" maxlength="2" value="" />

</p>



<p>Zip Code:

<input type="text" name="zip" size="30" maxlength="5" value="" />

</p>



<p>Phone Number:

<input type="text" name="phone" size="30" value="" />

</p>



<p>Birth Date (YYYY-MM-DD):

<input type="text" name="birth_date" size="30" value="" />

</p>



<p>Sex (M or F):

<input type="text" name="sex" size="30" maxlength="1" value="" />

</p>



<p>Lunch Cost:

<input type="text" name="lunch" size="30" value="" />

</p>



<p>

<input type="submit" name="submit" value="Send" />

</p>



</form>

</body>

</html>

最佳答案

我认为您的连接文件 mysqli_connect.php

可能有问题

这是我的代码供您引用

define("DB_HOST", "localhost");
define("DB_USERNAME", "username");
define("DB_PASSWORD", "password");
define("DB_NAME", "database name");
$dbc = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);

使用此连接参数,我已经执行了您的代码及其工作。

另外请将行 echo mysqli_error(); 更改为 echo mysqli_error($dbc);

mysqli_error接受一个参数,即连接链接。

关于php - 修复 mysql 错误 mysqli_stmt_bind_param(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39940389/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com