php数据库输出问题

查看:172
本文介绍了php数据库输出问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

$result = mysql_query('"SELECT * FROM jo_post
WHERE id='.$id.'"');

这样为什么无法输出数据库内容?

解决方案

PHP中三种主要的MySQL连接方式(5.4开始驱动底层实现都是mysqlnd):
http://php.net/manual/zh/mysqli.overview.php
mysqli(首选) pdo_mysql(建议) mysql(不建议)
PHP7已经不支持mysql扩展了,推荐楼主改用mysqli扩展.
另外,楼主直接拼接字符串作为SQL查询条件,存在SQL注入风险,建议先intval转为整型,或者使用预处理绑定参数查询.

<?php
//MySQLi普通查询:
$db = @new mysqli('127.0.0.1','user','pass','dbname',3306);
var_export($db->query('SELECT * FROM post WHERE id='.intval($id))->fetch_all());
//MySQLi绑定参数查询:
$db = @new mysqli('127.0.0.1','user','pass','dbname',3306);
$stmt = $db->prepare('SELECT * FROM posts WHERE id=?'); //预处理
$stmt->bind_param('i', $id); //绑定参数(可以防止SQL注入)
$stmt->execute(); //查询
var_export($stmt->get_result()->fetch_all());

这篇关于php数据库输出问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆