Heim >Backend-Entwicklung >PHP-Tutorial >php 预编译查询始终fetch不到数据
php prepare fetch
include ('../db/MySqlConnect.php');$conn = new MySqlConnect();$mysqli = $conn->getConnection();$sql = 'select id, username, password from admin where id = ?';$seach_id = 1;settype($seach_id, "integer");if($stmt = $mysqli->prepare($sql)) { $stmt->bind_param('i', $seach_id); $stmt->execute(); $stmt->bind_result($rs_id, $rs_name, $rs_password); if($stmt->fetch() == NULL) { echo 'no result'; } else { printf('id:%s, name:%s, password:%s <br/>', $rs_id, $rs_name, $rs_password); } $stmt->close(); $mysqli->close();}
代码看上去没有问题
但如果直接复制你的代码就无法通过语法检查
http://www.php.net/manual/en/mysqli.prepare.php
http://xiaobo-liu.iteye.com/blog/1288008
settype($seach_id, "integer");
可以省略
什么输出都没有?先确认进入if了没有?
可能是自己机器某些地方的配置有问题, 最后决定启用PDO了, 反正早晚都需要学习新知识
而且PDO确实要比MySQli 要好, 这个问题就算解决了吧
PDO用熟练了很方便, 而且PDO的prepare 就没有上面的问题, 应该是自己配置的问题