PHP数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP数据库相关的知识,希望对你有一定的参考价值。

php数据库

 

 

 

【连接数据库】

技术分享

使用mysql_connect()方法,这个方法里有三个参数

技术分享

 

localhost”代表数据库地址

root”代表数据库里的一个用户

123”代表这个数据库用户的密码

 技术分享

 

 

 

mysql_connect()这个函数有两种情况的返回值,

1.当连接成功的时候返回mysql连接标识符

2.当连接失败的时候返回false

 

为了使代码更加严谨,需要判断是否连接上数据库,使用if语句判断,如果连接成功就echo“连接成功”,如果连接失败就echo“连接失败”

 技术分享

 

 

 

用一个变量来存储返回的连接标识符,存储到$con

 技术分享

 

 

为了看效果时不出现乱码,需要在前面添加代码header(“content-type:text/html;charset=utf-8”);

文档格式以utf-8格式输出

 技术分享

 

 

 

如果用户或者密码错误,就会出现【用户不被允许访问】

 

 技术分享

 

 

 

连接MySQL数据库

 技术分享

 

PHP要对数据库进行操作,首先要做的是与数据库建立连接,通常我们使用mysql_connect函数进行数据库连接,该函数需要指定数据库的地址,用户名及密码。

$host = ‘localhost‘;

$user = ‘code1‘;

$pass = ‘‘;

$link = mysql_connect($host, $user, $pass);

PHP连接数据库的方式类似于直接在命令行下通过进行连接,类似:mysql -hlocalhost -ucode1 -p,当连接成功以后,我们需要选择一个操作的数据库,通过mysql_select_db函数来选择数据库。

mysql_select_db(‘code1‘);

通常我们会先设置一下当前连接使用的字符编码,一般的我们会使用utf8编码。

mysql_query("set names ‘utf8‘");

通过上面的步骤,我们就与数据库建立了连接,可以进行数据操作了。

 

数据库扩展

mysql 扩展库:通俗的讲,就是一大堆函数。是php设计者提供给程序员用于完成对 mysql 数据库的各种操作(其中最重要的就是 CRUD)

数据库扩展就是操作某个数据库的不同方式。比如对于MySQL数据库,可以通过mysql方式(即使用mysql_connect连接,对应一套函数,都以mysql_开头),也可以通过mysqli方式(这个多出的i代表improve,对应一套以mysqli_开头的函数),还可以使用PDO方式(这种方式是面向对象的,将数据库操作封装成一个对象叫PDO),本质上都是操作数据库,实际开发中,根据自己的需要选择一个方式就可以了。PHP中一个数据库可能有一个或者多个扩展,其中既有官方的,也有第三方提供的。像Mysql常用的扩展有原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接与操作。

不同的扩展提供基本相近的操作方法,不同的是可能具备一些新特性,以及操作性能可能会有所不同。

mysql扩展进行数据库连接的方法:(注:mysql这种方式已经被废弃了,不推荐使用,但你仍然可以正常调用

$link = mysql_connect(‘mysql_host‘, ‘mysql_user‘, ‘mysql_password‘);

mysqli扩展:

$link = mysqli_connect(‘mysql_host‘, ‘mysql_user‘, ‘mysql_password‘);

PDO扩展

$dsn = ‘mysql:dbname=testdb;host=127.0.0.1‘;

$user = ‘dbuser‘;

$password = ‘dbpass‘;

$dbh = new PDO($dsn, $user, $password);

 

 

【对数据库进行操作】

对于数据库进行操作需要使用函数 mysql_query()  执行一条SQL语句

数据库名是info

数据库里有一个表,是test

Teat里有两个字段信息

 技术分享

 

插入语句

 技术分享

 

意思是,把值abc’插入表名为“test”的字段里边的name里,

 

把语句传到mysql_query() 里执行操作

技术分享

 

为了代码代码的严谨,需要执行判断

 技术分享

 

 

完整代码为

 技术分享

 

 

php-执行MySQL查询

在数据库建立连接以后就可以进行查询,采用mysql_query加sql语句的形式向数据库发送查询指令。

$res = mysql_query(‘select * from user limit 1‘);

对于查询类的语句会返回一个资源句柄(resource),可以通过该资源获取查询结果集中的数据。

$row = mysql_fetch_array($res);

var_dump($row);

默认的,PHP使用最近的数据库连接执行查询,但如果存在多个连接的情况,则可以通过参数指令从那个连接中进行查询。

$link1 = mysql_connect(‘127.0.0.1‘, ‘code1‘, ‘‘);

$link2 = mysql_connect(‘127.0.0.1‘, ‘code1‘, ‘‘, true); //开启一个新的连接

$res = mysql_query(‘select * from user limit 1‘, $link1); //从第一个连接中查询数据

 

 

 

 

插入新数据到MySQL中

当我们了解了如何使用mysql_query进行数据查询以后,那么类似的,插入数据其实也是通过执行一个sql语句来实现,例如:

$sql = "insert into user(name, age, class) values(‘李四‘, 18, ‘高三一班‘)";

mysql_query($sql); //执行插入语句

通常数据都是存储在变量或者数组中,因此sql语句需要先进行字符串拼接得到。

$name = ‘李四‘;

$age = 18;

$class = ‘高三一班‘;

$sql = "insert into user(name, age, class) values(‘$name‘, ‘$age‘, ‘$class‘)";

mysql_query($sql); //执行插入语句

mysql中,执行插入语句以后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id。

$uid = mysql_insert_id();

这个id的作用非常大,通常可以用来判断是否插入成功,或者作为关联ID进行其他的数据操作。

                                    

 

 

从数据库取一条或者若干条数据并显示出来

 

 

 

告诉数据库,读取操作的都是UTF-8的格式

 技术分享

 

 

 

     mysql_query

 select语句传递给mysql数据库,mysql数据库执行后,它会输出一堆的数据并且存放在一个位置,然后将那个位置和地址(也就是资源标识符)告诉我们,我们知道资源地址后就可以对它进行进一步的操作了。以下的$query就是资源标识符

 技术分享

 

mysql_fetch_row 能够接收一个参数,就是资源标识符

 

 技术分享

 

 

 

 

 

 

 

比如数据库里的表数据如下

 技术分享

 

但是在执行打印后输出的只有表里的第一条数据

 技术分享

技术分享

 

想要打印输出全部的数据,需要把查询存储起来,再依次循环,再打印输出存储起来的值,如下

 技术分享

 

这样子就可以输出查询所有表格里的数据了

 

 技术分享

 

                                                                                              

以上是关于PHP数据库的主要内容,如果未能解决你的问题,请参考以下文章

怎么将php与数据库连接

php如何从数据库中读取多张图片的路径

用php调数据库做树状显示

php 如何在页面刷新时不重复操作数据库?

如何在PHP中连接MySQL数据库

php怎么循环数据库里的内容