PHP学习笔记六之MySQL内置函数

来源:互联网 发布:三星note7 淘宝下架 编辑:程序博客网 时间:2024/06/05 07:04

建立数据库连接 mysql_connect

一般情况下常说的LAMP架构指的是:Linux、Apache、Mysql、PHP

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);


查询

<?php$link = mysql_connect('127.0.0.1', 'code1', '') or die('数据库连接失败');mysql_select_db('code1');mysql_query("set names 'utf8'");$result = mysql_query('select * from user limit 1');$row = mysql_fetch_assoc($result);print_r($row);


结果

Array(    [id] => 526256846    [name] => 王二    [age] => 19    [class] => 高三五班    [status] => 0    [create_time] => 2016-10-04 11:03:22)



在数据库建立连接以后就可以进行查询,采用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中,执行插入语句后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id,该id的作用非常大,通常可以用来判断是否插入成功,或者作为关联的id进行其他的数据操作。


4个fetch函数

/** * 4个fetch函数,都可以通过循环来获取下一个数据 * 先使用查询语句获得资源,接下来才能使用下面的函数 * mysql_fetch_row() * mysql_fetch_array() * mysql_fetch_assoc() * mysql_fetch_object() */mysql_query("set names utf8");//插入或读出一律以utf-8的形式$query=mysql_query('select * from test');//返回的是资源标识符 mysql_fetch_row($query);//返回查询数据的第一条数据(以一维数组的形式),并将指针下移,直至为空//输出索引值和键值(关联)对的数组,row返回的数组中是没有键值对的/*对于mysql_fetch_array() * 第二个参数 * MYSQL_ASSOC--关联数组 * MYSQL_NUM--索引数组 * MYSQL_BOTH--默认 */$arr=mysql_fetch_array($query);echo $arr['name'];//不用记位置,直接通过键访问值//和上一个函数的第二个参数的效果是一样的mysql_fetch_assoc($query);//获取和显示数据//从表art里按时间date取最新一条记录的title字段的值并打印$q=mysql_query('select title from art order by date desc limit 1');$date=mysql_fetch_row($q);echo $date[0];//对象获取$ars=mysql_fetch_object($query);echo $are->name;




//获取结果集的数量$result=mysql_query('select * from fruitshop');mysql_num_rows($result);//(数据库表中的)结果集中行的数目//mysql_result函数,返回结果集中的一个字段的值$result=mysql_query('select count(*) from fruitshop');//mysql_num_rows($result);//$arr=mysql_fetch_row($result);echo $arr[0];//获取结果集中的指定行的指定字段mysql_result(结果集,取的行数,字段名称);//从0开始//mysql_affected_rows--受影响的记录行数/* * 数据库的增删改 * 通过mysql_query向数据库传递insert,update,delete * mysql_query('update fruitshop set num=5 where id=1'); *  */ mysql_affected_rows($con)//con位连接标识符,这个是连接时返回的,只能够获取带前一条影响的行数




0 0
原创粉丝点击