美文网首页
PHP数据库操作

PHP数据库操作

作者: XZ阳光小熊 | 来源:发表于2016-06-04 15:03 被阅读48次

    一、操作数据库的步骤

    我们对数据库的操作主要分为五步:
    连接数据库、选择数据库、设置编码方式、操作数据库、关闭数据库。

    二、连接数据库

    连接数据库的方法是调用mysql_connect()函数,它需要我们提供三个参数,服务器的主机名,用户名和密码。如果服务器和php运行在同一台计算机上,可以使用localhost作为主机名。

    // 1、连接数据库  服务器主机名,用户名,密码
    $db = mysql_connect("localhost","root","");
    

    三、选择数据库

    与数据库进行连接之后,就可以使用各种mysql_xxx()函数对数据库进行操作,但是为了每次调用mysql_xxx()函数都要指定目标数据库,一般我们会先用mysql_select_db()函数选定一个默认数据库,其参数为数据库名称。

    //选择数据库
    mysql_select_db("mydataDB")
    
    

    四、设置编码方式

    由于我们的程序中有时会需要显示汉字,为了防止汉字乱码,我们就要先设置编码方式为SET NAMES UTF8,并用mysql_query()函数来执行者个指令。

    
        //  设置编码方式
        mysql_query("SET NAMES UTF8");
    
    
    • mysql_query() 函数可以用来执行任何一种SQL命令,比如SELECT(查询)、INSERT(插入新纪录)、UPDATE(修改现有记录)、DELETE(删除现有记录)、CREATE TABLE(创建新数据表)、ALTER TABLE(修改数据表结构)等。

    五、操作数据

    1、查询数据表,使后面的所有操作都针对当前数据表执行。

        // 创建sql语句,并检测是否正确
        $sql = "SELECT * FROM users";
        $res = mysql_query($sql);
    

    2、mysql_fetch_row()函数将以普通数组的形式返回数据库中的一条数据,它的各个字段需要以$row[n]的方式进行访问。

        $row = mysql_fetch_row($res); // 返回普通数组
        var_dump($row);
    
    代码执行效果

    var_dump()方法是判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型.

        $row = mysql_fetch_row($res);
        var_dump($row);
        echo "<hr/>";
        print_r($row);
    >```
    
    ![var_dump和print_r的区别](https://img.haomeiwen.com/i1986486/438b0f29657462fa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    
    // 遍历获取username的值
    while ($row = mysql_fetch_row($res)) {
        echo $row["1"]."<hr/>";
    };
    
    
    ![代码执行效果](https://img.haomeiwen.com/i1986486/0e907292668e4e4b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    3、mysql_fetch_array()函数将以关联数组的形式返回数据库中的一条数据,它的各个字段需要以$row[n]或$row["colname"]的方式进行访问。
    
    
    $row = mysql_fetch_array($res);
    print_r($row);
    
    echo "<hr/>";
    
    echo $row[1];
    //echo $row["username"];
    
    
    ![代码执行效果](https://img.haomeiwen.com/i1986486/6d84849efb618d59.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    4、mysql_fetch_accoc()函数也以关联数组的形式返回数据库中的一条数据,它的各个字段只能以$row["colname"]的方式进行访问。
    
    

    $row = mysql_fetch_assoc($res);
    print_r($row);
    echo "


    ";
    echo $row["username"];
    
    ![代码执行效果](https://img.haomeiwen.com/i1986486/d9710d7bca910ca3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    5、mysql_fetch_object()函数以一个对象的方式返回数据库中的一条数据,它的各个字段需要以$row->colname的方式进行访问。
    
    
    $row = mysql_fetch_object($res);
    var_dump($row);
    echo "<hr/>";
    echo $row->username; //取出对象的属性
    
    ![代码执行效果](https://img.haomeiwen.com/i1986486/fdb91f0a787c03d7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    6、mysql_num_rows()函数用于获取查询返回的记录数。
    
    

    // 获取查询记录的数量
    $count = mysql_num_rows($res);
    echo "<h1>$count</h1>";

    
    ![代码执行效果](https://img.haomeiwen.com/i1986486/f1ce6613ae4877d9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    7、mysql_insert_id() 函数用于获取INSERT(插入)操作产生的ID。
    
    8、mysql_affected_rows()函数用于获取前一次对数据库操作所影响的记录数。
    
    
    // 获取由于insert而产生的id
    $id = mysql_insert_id($db);
    echo $id;
    echo "<hr/>";
    
    // 获取影响的行数
    $rows = mysql_affected_rows($db);
    echo $rows;
    
    
    ![代码执行效果](https://img.haomeiwen.com/i1986486/aed5f777dc39461e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    9、mysql_free_result()函数释放查询结果。
    
    
    // 释放查询结果
    mysql_free_result($res);
    
    
    
    #五、关闭数据库
    
    调用mysql_close()函数可关闭数据库,参数为我们指定的数据库,如果不写参数,则默认为最近打开的数据库。
    
    
    // 打开数据库
    $db = mysql_connect("localhost","root","");
    
    // 关闭数据库
    mysql_close($db);
    
    
    ***
    以上内容纯属个人理解,由于本人水平有限,若有错漏之处敬请之处改正,谢谢!

    相关文章

      网友评论

          本文标题:PHP数据库操作

          本文链接:https://www.haomeiwen.com/subject/ldyldttx.html