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

9 篇文章 0 订阅

建立数据库连接 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值