PHP操作MySQL

一、PHP连接MySQL服务器

  什么是PHP的MySQL函数库?

    即一套PHP的函数库扩展包,在PHP文件下的“ext/php_mysql.dll”

  配置PHP作为MySQL服务器的客户端:

    PHP配置文件php.ini中开启“extension=php_mysql.dll”

二、PHP操作MySQL的函数库步骤

  ①连接数据库服务器

    mysql_connect  打开一个连接(推荐)

    mysql_pconnect  打开一个持久连接(不推荐)

    mysql_connect("$host","$username","$password");

    连接成功返回MySQL连接标识符,连接失败返回false

    例:

      $link=mysql_connect("localhost","root","1234");

  ②判断是否连接成功

    if(!$link){

      exit("数据库服务器连接失败,错误信息:".mysql_error()."错误号:".mysql_errno());

    }

    mysql_error():返回上一步操作的错误信息

    mysql_errno():返回上一步操作的错误号

  ③设置客户端字符集

    mysql_set_charset("utf8");

    mysql_query("set names utf8");

  ④选择数据库

    $db=mysql_select_db("$db_name" [,$link]);

    打开所连接的数据库服务器中的指定数据库,若不指定第二个连接参数,则默认打开最近的连接,成功返回true,失败返回false

  ⑤准备SQL语句

    $sql="SQL语句";

    注:引号中的SQL语句无需以分号结束

  ⑥发送SQL语句

    $res=mysql_query($sql [,$link]);

    对于DQL查询语句(select/explain/show/desc/describe)执行成功返回结果集资源,执行失败返回false;对于其他类型的sql语句,执行成功返回true,执行失败返回false 

  ⑦处理结果

    if(!$res){

      echo "执行失败,错误信息:".mysql_error();

    }else{

      echo "执行成功";

    }

    mysql_insert_id([$link]):获取主键ID,即auto_increment的值

    mysql_affected_rows([$link]):获取受影响数据条数(适用于增、删、改)

    mysql_num_rows($res):获取DQL查询语句返回的结果集资源包含的数据条数

    mysql_fetch_array($res [,MYSQL_BOTH]):将结果集资源解析成索引和关联的混合数组

      MYSQL_BOTH:可选参数,默认值,MYSQL_BOTH将得到一个同时包含索引和关联的混合数组;MYSQL_ASSOC将只得到一个关联数组,字段名作为键名字段值作为键值,作用同mysql_fetch_assoc();MYSQL_NUM将只得到一个索引数组,作用同mysql_fetch_row();

    mysql_fetch_row($res):将结果集资源解析成索引数组

    mysql_fetch_assoc($res):将结果集资源解析成关联数组,字段名作为键名字段值作为键值

    mysql_fetch_object($res):将结果集资源解析成对象

  ⑧关闭数据库连接

    mysql_free_result($res);  释放DQL查询语句的关联结果集资源

    mysql_close();

例1:

$link=mysql_connect("localhost","root","");
if(!$link){
    exit("连接MySQL服务器失败,错误信息为:".mysql_error()."错误号为:".mysql_errno());
}
mysql_set_charset("utf8");
$db=mysql_select_db("test01");
if(!$db){
    exit("连接数据库失败,错误信息为:".mysql_error()."错误号为:".mysql_errno());
}
$sql="insert users(username,password,sex) values('autumn','1111',null)";
$res=mysql_query($sql);
if($res && mysql_affected_rows()>0){
    echo "成功添加了".mysql_affected_rows()."条数据";
}else{
    echo "添加数据失败,错误信息为:".mysql_error()."错误号为:".mysql_errno();
}
mysql_close();

例2:

$link=mysql_connect("localhost","root","") or die("连接数据库服务器失败,错误信息为:".mysql_error()."错误号为:".mysql_errno());
mysql_set_charset("utf8");
$db=mysql_select_db("test01",$link) or die("连接数据库失败,错误信息为:".mysql_error()."错误号为:".mysql_errno());
$sql="select * from users";
$res=mysql_query($sql,$link);
if(!$res){
    echo "查询数据失败,错误信息为:".mysql_error()."错误号为:".mysql_errno();
}elseif(mysql_num_rows($res)==0){
    echo "当前数据表中无数据";
}else{
    echo "<table border='1' width='800'>";
    echo "<tr>";
    echo "<td>id</td>";
    echo "<td>username</td>";
    echo "<td>password</td>";
    echo "<td>sex</td>";
    echo "</tr>";
    while($data=mysql_fetch_assoc($res)){
        echo "<tr>";
        echo "<td>".$data['id']."</td>";
        echo "<td>".$data['username']."</td>";
        echo "<td>".$data['password']."</td>";
        echo "<td>".$data['sex']."</td>";
        echo "</tr>";
    }
    echo "</table>";
}
echo "<br>";
echo "共查询到".mysql_num_rows($res)."条数据";

mysql_free_result($res);
mysql_close();
原文地址:https://www.cnblogs.com/zhouwanqiu/p/9084726.html