php从mysql数据库中读出查询的数据的方法:1、通过mysqli_connect连接mysql数据库;2、设置字符集编码格式;3、执行SQL语句;4、处理结果集。
本文操作环境:windows7系统、PHP7.1版、DELL G3电脑
php怎么从mysql数据库中读出查询的数据?
PHP+MySql实现后台数据的读取:
我们使用的是PHP 的php_mysqli扩展
首先了解一些基础的用法
1.连接数据库使用
mysqli_connect()
参数:①主机地址 ②MYSQL用户名 ③MYSQL密码 ④选择连接的数据库 ⑤ 端口号
返回:如果连接成功 返回资源类型的标识符号,如果失败返回false
如果我们与Mysql建立的连接不止一条,那么以后操作数据库的各种函数都必须传入返回的连接符号
如果我们与mysql建立的连接只有一条,那么以后操作数据库的各种函数就不必传入这个标识符号
2.设置字符集编码格式
mysqli_set_charset() ;
3.执行SQL语句
如果是增删改 将返回布尔类型的是否成功
如果是查询,将返回资源结果集
$res=mysqli_query();
4.处理结果集
mysqli_fetch_assoc($res); 返回关联数组 mysqli_fetch_row($res); 返回索引数组 mysqli_fetch_object($res); 返回对象 mysqli_fetch_field($res); 返回结果集中每一列的字段信息(字段名,表名,数据库名,字段类型) mysqli_data_seek($res, 0); 设置结果集指针位置,为零,结果集复位到最开始 mysqli_free_result($res); 释放查询资源结果集 mysqli_close($conn); 关闭数据库连接
下面我们来实现一个简单注册登录的功能。
先将通用的配置提到一个PHP文件中,后边再用到引入即可
<?php header("Content-Type:text/html;charset=utf-8"); define("HOST", "127.0.0.1"); define("USERNAME", "root"); define("PASSWORD", ""); define("DBNAME", "mydb"); define("CHARSET", "utf8"); $con=mysqli_connect(HOST, USERNAME, PASSWORD, DBNAME) or die("数据库连接失败,<span style='color:red;'>".mysqli_connect_error()."</span>"); mysqli_set_charset($con, CHARSET) or die("字符集编码设置无效");
在数据库中建个表,以便存取用户信息。在这我在mydb数据库中创建了一个名为submit的表。
首先做的事注册功能,注册就是将用户输入表单中的信息保存到后台数据库的表中
下边的是注册页的样式,没什么好说的,记住name ID即可
<p>d637b26c7618e8e4a387936d13117b79<br> 41f694bf073fda5f8b66ecb924074ffb<br> 62adb46bd367e8d79708a3bf3765ea34用户注册16b28748ea4df4d9c2150843fecfba68<br> 16b28748ea4df4d9c2150843fecfba68<br> 165eec484993f6c5e1b1fbd7bf5de649<br> e61fd69228ce2c22fa7ddf26c584f7f0<br> b48d3695334c0d29c002309400bcc6ac<br> 2e1cf0710519d5598b1f0f14c36ba674用户名8c1ecd4bb896b2264e0711597d40766c<br> 3539a64e167199a3df90fef036934dd2<br> 16b28748ea4df4d9c2150843fecfba68<br> b48d3695334c0d29c002309400bcc6ac<br> 2e1cf0710519d5598b1f0f14c36ba674密码8c1ecd4bb896b2264e0711597d40766c<br> e9fc16704f34efbb11b15fe4cb6374de<br> 16b28748ea4df4d9c2150843fecfba68<br> b48d3695334c0d29c002309400bcc6ac<br> 2e1cf0710519d5598b1f0f14c36ba674确认密码8c1ecd4bb896b2264e0711597d40766c<br> d73581b0707fe32523581bf1842a8f07<br> 16b28748ea4df4d9c2150843fecfba68<br> b48d3695334c0d29c002309400bcc6ac<br> 2e1cf0710519d5598b1f0f14c36ba674真实姓名8c1ecd4bb896b2264e0711597d40766c<br> 8ce8835b7396c2dfb5defcf6686ff330<br> 16b28748ea4df4d9c2150843fecfba68<br> <br> 52f158f9b58d170d0b8c1792170e9180<br> 13d9db4a2ed7d591442792ba647dcf80<br> <br> a83d825548a1fb4694e1547579091cb1返回登录5db79b134e9f6b82c0b36e0489ee08ed<br> 16b28748ea4df4d9c2150843fecfba68<br> <br> f5a47148e367a6035fd7a2faa965022e<br> 16b28748ea4df4d9c2150843fecfba68<br> 16b28748ea4df4d9c2150843fecfba68<br></p>
重点是看看如何用JQuery将数据POST到后台
<p>cf7d6897649c21fc8fd1414f6811503d2cacc6d41bbb37262a98f745aa00fbf0<br> 5cd6e472395e766622bc5d31b556eb7a<br> $(function(){<br> $("#submit").on("click",function(){ var userName = $("input[name='userName']").val(); var pwd = $("input[name='pwd']").val(); var rePwd = $("input[name='rePwd']").val(); var realName = $("input[name='realName']").val(); if(userName==""||pwd==""||rePwd==""||realName==""){<br> alert("所有信息不可为空,请确认!"); return;<br> }else if(pwd!=rePwd){<br> alert("两次密码输入不一致!"); return;<br> }<br> <br> $.post("doReg.php",{ "userName":userName, "pwd":pwd, "realName":realName<br> },function(data){<br> alert(data); <br> if(data=="注册成功"){<br> location = "login.php";<br> }<br> })<br> <br> });<br> }); 2cacc6d41bbb37262a98f745aa00fbf0<br></p>
后台的php文件接收数据后,将接收的数据通过SQL语句操作数据库将数据存入表中
<p>a5d587a141753b69bf46dd48458ee7ee0){ die("用户名已经存在!"); <br> } elseif($res){ echo 'true';<br> }else{ die();<br> } <br></p>
这样,点击注册按钮,就可将输入的信息存入表中。成功后跳转登陆页
下面做的就是登陆页,登录功能需要读取存在表中的用户名与密码信息
登录页样式也不多说。同样记住需要的name与ID
<div class="panel panel-primary"> <div class="panel-heading"> <div class="panel-title">用户登录</div> </div> <div class="panel-body"> <form class="form-horizontal"> <div class="form-group"> <label>用户名</label> <input type="text" class="form-control" name="userName"/> </div> <div class="form-group"> <label>密码</label> <input type="password" class="form-control" name="pwd"/> </div> <div class="form-group btns"> <input type="button" class="btn btn-primary" value="登录系统" id="submit"/> <a type="button" class="btn btn-success" href="reg.php"/>注册账号</a> </div> </form> </div> </div>
重点还是JQ代码
<p><script src="../../js/jquery-1.10.2.js"></script><br/> <script type="text/javascript"><br/> $(function(){<br/> $("#submit").on("click",function(){ var userName = $("input[name='userName']").val(); var pwd = $("input[name='pwd']").val();<br/> <br/> $.post("doLogin.php",{ "userName":userName, "pwd":pwd<br/> },function(data){<br/> alert(data); if(data=="登录成功"){<br/> location = "index.php";<br/> }else{<br/> alert("用户名或密码有误!");<br/> }<br/> });<br/> });<br/> }); </script><br/></p>
上述登陆页的JQ代码所做的是,取到后台登陆PHP文件从数据库中读取的用户名与密码信息和用户输入的新相比较,true则登陆成功
那么后台登陆页怎么写的呢,很简单,通过SQL语句从表中读取到信息后,返回给前台登录页面即可
<p><?php <br/>header("Content-Type:text/html;charset=utf-8");include_once("../mysql/mysql.php"); <br/> $userName = $_POST["userName"]; $pwd = $_POST["pwd"]; <br/> $loginSql = <<<login<br/> select * from submit where username="{$userName}" and pwd = "{$pwd}";<br/>login; $res = mysqli_query($con, $loginSql); <br/> if($row = mysqli_fetch_row($res)){ $_SESSION["user"] = $row; echo "登录成功";<br/> }else{ echo "登录失败";<br/> } <br/> mysqli_free_result($res); mysqli_close($con);<br/></p>
登陆成功后,提示登录成功,跳转到首页(index.html)
推荐学习:《PHP视频教程》
以上是php怎么从mysql数据库中读出查询的数据的详细内容。更多信息请关注PHP中文网其他相关文章!