PHP之路 PHP基础【第九篇】数据库操作

PHP连接MySQL的操作

PHP连接MySQL数据库有3种方式,mysql,mysqli,pdo,其中mysql是最底层也是最快的一种方式

php_mysql

一、操作步骤

1. 连接MySQL数据库
2. 判断是否连接成功
3. 选择数据库
4. 设置字符集
5. 准备SQL语句
6. 向MySQL服务发送SQL语句
7. 解析处理结果集
8. 释放结果集,关闭数据库连接

二、常用操作

1. mysql_connect();--连接数据库,并返回一个连接资源
  格式: mysql_connect(主机名,用户,密码); 
    --其中参数可选,若不写则参考php.ini中默认配置
    
2. mysql_error(); --获取刚刚(最后)执行数据库操作的错误信息

3. mysql_errno(); --获取刚刚(最后)执行数据库操作的错误号
    错误号为0表示没有错误

4. mysql_select_db(数据库名[,数据库连接]); 
    选择一个数据库,等同于"use 库名"语句
    
5. mysql_set_charset(字符编码);  --设置字符编码
  例如:mysql_set_charset("utf8"); 等同于:mysql_query("set names utf8");

6. mysql_query(sql语句[,数据库连接]); -- 发送一条sql语句
     sql语句若是查询,则返回结果集,其他则返回boolean值表示执行是否成功。
    
7. 解析结果集函数:
    mysql_fetch_array();  --以关联和索引两种方式数组解析结果集
      也可以指定第二参数来定义返回格式:
         MYSQL_BOTH(0关联和索引)/MYSQL_NUM(2索引)/MYSQL_ASSOC(1关联)
        
    mysql_fetch_row();      --以索引式数组解析结果集
    *mysql_fetch_assoc(); --以关联式数组解析结果集
    mysql_fetch_object(); --以对象方式解析结果集

8. mysql_free_result(结果集名); --释放结果集

9. mysql_close(数据库连接); --关闭数据库连接

10. mysql_num_rows(结果集); --获取结果集中的数据条数

11. mysql_num_fields(结果集); --获取结果集中的列数(字段数量)

12. mysql_result(); --定位取结果
        echo mysql_result($result,0,3)."<br/>"; //获取第1条数据的第4列中的值
        echo mysql_result($result,1,2)."<br/>"; //获取第2条数据的第3列中的值
        echo mysql_result($result,5,4)."<br/>"; //获取第6条数据的第5列中的值
        
13.mysql_affected_rows — 取得前一次 MySQL 操作所影响的记录行数
    关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。
    
14. mysql_insert_id — 取得上一步 INSERT 操作产生的 ID 
View Code

三、demo 

php操作数据的六步

<?php
//公共配置文件

//数据库连接配置
define("HOST","localhost"); //数据库主机名
define("USER","root");      //数据库账号
define("PASS","root");          //数据库密码
define("DBNAME","mysql");  //数据库名
config.php
<?php
//php操作数据的六步(六脉神剑)

//1. 导入配置文件
require("config.php");

//2. 连接数据库,并判断是否成功
$link = @mysql_connect(HOST,USER,PASS);
if(!$link){
    die("数据库连接失败!原因:".mysql_error());
}
//var_dump($link);
//3. 选择数据库,设置编码
mysql_select_db(DBNAME,$link);
mysql_set_charset("utf8");

//4. 定义sql语句,并发送执行
$sql = "select * from user";
$result = mysql_query($sql,$link);

//5. 处理结果集(若是查询则要解析,若是增删改则直接做判断即可)
echo "<pre>";
while($user = mysql_fetch_assoc($result)){
   
    print_r($user);
}

//6. 释放结果集(只有查询使用),关闭数据库
mysql_free_result($result);
mysql_close($link);
1.php

pdo

<?php
//数据库配置信息
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=mingren;charset=utf8";
$username = "root";
$password = "root";

//创建PDO类的对象
$pdo = new PDO($dsn,$username,$password);

//执行插入的SQL语句
$sql = "INSERT INTO student VALUES(null,'刘东明',1,default,'大专',6000,400,'山东省')";
$records = $pdo->exec($sql);
echo "成功插入了{$records}条记录!";
demo

 

posted @ 2019-10-09 09:26  沐风先生  阅读(127)  评论(0编辑  收藏  举报