PHP连接数据库基础知识及易错点
2017-09-14 11:40
549 查看
//会不定时更新…
emmmmm,想用PHP写计网的课设,所以滚去看了下PHP连接数据库…
以下操作都是在Ubuntu17.04,LAMP下进行,且PHP数据库的扩展包为MySqli,MySqli为MySql的加强版,在使用上稍有区别,比较容易混淆,要注意
下面是PHP连接数据库的一些最最最基本的操作额,分界线两边的代码要分开操作
一些细节问题:
mysqli_connect()的第一个参数就是本机的地址,写localhost或127.0.0.1都可以,别写成当前代码的地址了(自己当时就这么干了,很蠢诶
数据库的用户名一般是root,如果密码没被修改,也是root,否则就是修改之后的,要是忘了密码又修改过,只能自行百度了
mysqli_connect()的返回值不能输出,输出会导致后面的程序难以进行
用mysqli_query()建数据库建表的时候,如果数据库或者表已经建了一次就不会再建第二次了
用上面的知识来实现分页功能:
转载请注明出处:http://blog.csdn.net/cherish0222/article/details/77978378
emmmmm,想用PHP写计网的课设,所以滚去看了下PHP连接数据库…
以下操作都是在Ubuntu17.04,LAMP下进行,且PHP数据库的扩展包为MySqli,MySqli为MySql的加强版,在使用上稍有区别,比较容易混淆,要注意
下面是PHP连接数据库的一些最最最基本的操作额,分界线两边的代码要分开操作
一些细节问题:
mysqli_connect()的第一个参数就是本机的地址,写localhost或127.0.0.1都可以,别写成当前代码的地址了(自己当时就这么干了,很蠢诶
数据库的用户名一般是root,如果密码没被修改,也是root,否则就是修改之后的,要是忘了密码又修改过,只能自行百度了
mysqli_connect()的返回值不能输出,输出会导致后面的程序难以进行
用mysqli_query()建数据库建表的时候,如果数据库或者表已经建了一次就不会再建第二次了
<?php //我配置的是mysqli库 //用mysqli_connect()连接数据库 @$link = mysqli_connect('127.0.0.1','root','Vmorish'); if( $link){ echo 'PHP连接数据库成功!'.'<br>'; }else{ echo 'PHP连接数据库失败'.'<br>'; } //------------------------------------分界线------------------------------ //用mysqli_select_db()指定要操作的数据库 //在这之前需要连接数据库,我们就用上面的 //句柄要作为第一个参数 @$ok = mysqli_select_db($link,"phpdb"); // echo $ok.'<br>'; if( $ok){ echo '数据库选择成功'.'<br>'; }else{ echo '数据库选择失败'.'<br>'; } mysqli_close($link); //------------------------------------分界线------------------------------ // 用mysqli_query()函数操作数据库 // 在MySql中创建一个数据库newdata,并在这个数据库中创建一个表testtable,表的字段可以随意设置 $id = mysqli_connect('127.0.0.1','root','Vmorish'); mysqli_query($id,'CREATE DATABASE newdata'); mysqli_select_db($id,'newdata'); $sql = "CREATE TABLE hhh(name varchar(10), age int(4))"; if( mysqli_query($id,$sql)){ echo '表创建成功'.'<br>'; }else{ echo '表创建失败'.'<br>'; } mysqli_close($id); //------------------------------------分界线------------------------------ //用mysqli_query()向表中插入数据 $link = mysqli_connect('127.0.0.1','root','Vmorish'); mysqli_select_db($link,'phpdb'); $sql = "CREATE TABLE mess(name varchar(10), age int(4))"; mysqli_query($link,$sql); mysqli_query('SET CHARACTER gb2312'); for( $i = 1; $i < 6; $i++){ $n1 = $i+20; $xm = 'name'.$i; $sql = "INSERT INTO mess VALUES('".$xm."',".$n1.")"; $excu = mysqli_query($link,$sql); if( $excu){ echo '第'.$i.'条数据插入成功!'.'<br>'; }else{ echo '数据插入失败'.'<br>'; } } mysqli_close($link); //------------------------------------分界线------------------------------ //用PHP从表中读取数据 $link = mysqli_connect('127.0.0.1','root','Vmorish'); mysqli_select_db($link,'phpdb'); mysqli_query('SET CHARACTER SET gb2312'); $query = 'SELECT * FROM mess'; $result = mysqli_query($link,$query); // var_dump($result); echo "<table border=1 width=200><tr><td>姓名</td><td>年龄</td></tr>"; $datanum = mysqli_num_rows($result); echo "表mess中共有".$datanum."条数据<br>"; for( $i = 1; $i <= $datanum; $i++){ //本来写的是$info = mysqli_fetch_array($result,MySQLI_ASSOC);,没有结果 $info = mysqli_fetch_array($result); // var_dump($info); echo "<tr><td>".$info['name']."</td>"; echo "<td>".$info['age']."</td></tr>"; } echo "</table>"; mysqli_close($link); ?>
用上面的知识来实现分页功能:
tml> <head> <title>实现数据的分页</title> </head> <body> <?php $link = mysqli_connect("127.0.0.1","root","Vmorish"); $choose = mysqli_select_db($link,"phpdb");//连接PHP和数据库 $query = "SELECT * FROM student";//查询语句 $result = mysqli_query($link,$query);//返回结果集 $totalnum = mysqli_num_rows($result);//结果集中存在多少行数据 $pagesize = 15;//设置每页显示15条 //用GET方法在URL中传递参数,if语句判断是否传递了这个参数,如果传递了,说明用户选择了某一页,如果参数为空或者未传递,说明本页面可以直接被打开,显示第一页 $page = $_GET["page"]; // var_dump($page); if( $page == ""){ $page = 1; } $begin = ($page-1)*$pagesize;//计算每页的第一条是表里的第多少条 $totalpage = ceil($totalnum/$pagesize);//向上取整,看最多要用多少页去显示所有数据 echo "<table border=1 width=500><tr><td>学号</td><td>姓名</td><td>专业</td><td>年龄</td></tr>"; $datanum = mysqli_num_rows($result); echo "表student中共有".$totalnum."条数据<br>"; echo "每页显示".$pagesize."条,共".$totalpage."页<br>"; for( $i = 1; $i <= $totalpage; $i++){ echo "<a href=paging.php?page=".$i."><font color=black>[".$i."] </a>"; } $query = "SELECT * FROM student limit $begin,$pagesize";//选择表里从$begin条开始,$pagesize条 $result = mysqli_query($link,$query); $datanum = mysqli_num_rows($result); for( $i = 1; $i <= $datanum; $i++){ $info = mysqli_fetch_array($result); echo "<tr><td>".$info['id']."</td>"; echo "<td>".$info['name']."</td>"; echo "<td>".$info['major']."</td>"; echo "<td>".$info['age']."</td></tr>"; } echo "</table>"; mysqli_close(); ?> </body> </html>
转载请注明出处:http://blog.csdn.net/cherish0222/article/details/77978378
相关文章推荐
- 数据库基础知识(1)--数据库php连接
- 零PHP基础搭建phpMyAdmin连接远程数据库
- php基础教程--数据库连接及登录注册
- JDBC 基础知识(一) + 各种数据库连接
- (Java 基础知识) Java 连接数据库
- dw中数据库连接及一些基础知识
- C#基础知识[3]:读取web.config中的数据库连接字符串
- Delphi7 中使用ADO连接数据库基础知识学习
- PostgreSQL入门学习之数据库连接相关基础知识
- Uinty3D学习基础知识 数据库连接
- php基础连接数据库一
- JDBC(1)JAVA连接数据库之 基础知识学习
- (数据库连接) SQL Server 连接基础知识
- ADO基础知识:使用Connection对象连接数据库
- 【PHP基础知识】——数据库MySQL操作(下)
- PHP连接数据库(基础)
- 数据库 连接基础知识 等值连接 自然连接
- PHP基础------数据库连接&&增删改
- php连接mysql数据库的几种方法(基础知识不能忘啊)
- [WAMP网站开发] PHP连接MySQL数据库基础知识