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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |