加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – bind_param()似乎不起作用

发布时间:2020-12-13 22:05:42 所属栏目:PHP教程 来源:网络整理
导读:我有以下代码: ?php$dbhost = 'localhost';$dbuser = 'user';$dbpass = 'password';$db = new mysqli($dbhost,$dbuser,$dbpass,'images_db');if($db-connect_errno 0){die('Unable to connect to database [' . $db-connect_error . ']');}else{echo "Conne
我有以下代码:

<?php
$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'password';
$db = new mysqli($dbhost,$dbuser,$dbpass,'images_db');
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
else{
echo "Connected to database";
}
//filename,mime_type and file_size are columns in the table images
$stmt = $db->prepare("INSERT INTO images (filename,mime_type,file_size) VALUES (?,?,?)");
$string1 = 'string 1';
$string2 = 'string 2';
$stmt->bind_param('ssi',$string1,$string2,123);
$stmt->execute();
$stmt->close();
$mysqli->close();
?>

当我执行代码时,没有任何东西被添加到mysql数据库中.但是当我评论出这条线时

$stmt->bind_param('ssi',123);

并将字符串和整数值直接插入$db-> prepare语句(替换问号),这一切都很好用,并将行添加到数据库表中.

我在bind_param行中做错了什么,阻止将新行添加到数据库中?

解决方法

mysqli_stmt_bind_param接受变量(通过引用).你不能使用文字.将您的代码更改为

$fileSize = 123;
$stmt->bind_param('ssi',$fileSize);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读