PHP预处理语句执行过程中不知道什么问题,求大神解答,分数不多,下面是代码

$servername = 'servername'; //服务器名称
$username = 'username'; //数据库用户名
$password = 'password'; //登录密码
$dbname = 'mydb';

//创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

//检测连接(PHP 5.2.9和5.3.0版本适用)
/* if($conn->connect_error){
die('连接失败:' . $conn->connect_error);
} */

//检测连接(兼容更早版本)
if(mysqli_connect_error()){
die('连接失败:' . mysqli_connect_error());
}
else{
$sql = "INSERT INTO myguests VALUES(?, ?, ?)";

//为mysqli_stmt_prepare()初始化statement对象
$stmt = mysqli_stmt_init($conn);
echo $stmt; //不知道为什么$stmt是空的,没有数据

//预处理语句
if(mysqli_stmt_prepare($stmt, $sql)){
//绑定参数
mysqli_stmt_bind_param($stmt, 'sss', $firstname, $lastname, $email);

//设置参数并执行
$firstname = 'Sam';
$lastname = 'Poly';
$email = [email protected]';
mysqli_stmt_execute($stmt);

$firstname = 'Mary';
$lastname = 'Moe';
$email = [email protected]';
mysqli_stmt_execute($stmt);

$firstname = 'Julie';
$lastname = 'Dooley';
$email = [email protected]';
mysqli_stmt_execute($stmt);

echo '插入成功';
}
}
登录后复制

好像mysqli_stmt_init($conn)执行后没反应,我echo了一下,没东西输出,所以后面的mysqli_stmt_prepare($stmt, $sql)也执行不下去了,实在不清楚为什么没有执行,也没有报错
------解决思路----------------------
你用混了!
$conn = mysqli_connect(....)
mysqli_stmt_init($conn)
这是一对

$conn = new mysqli(.....)
$conn ->stmt_init()
这才是一对

09-19 04:49