• PHP


    第16章 PHP操作MySQL

    学习要点:

    1.PHP连接到MySQL

    2.增删改查

    3.其他常用函数

    如果你已经具有了使用PHPSQLMySQL的丰富经验,现在就可以把所有这些技术组合在一起。PHPMySQL之间稳固的集成只是众多程序员采纳它的一个原因,还有一个原因就是,它如此的简单方便。

    一.PHP连接到MySQL

    这里,我们全面采用UTF-8编码。

    设置Zend Stduio的编码:Window -> Preferences -> Workspace

    标头设置,让火狐和IE保持编码统一:

    <?php

    header('Content-Type:text/html; charset=utf-8');

    ?>

    连接MySQL

    <?php

    $conn = @mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or 

    die('数据库连接失败!错误信息:'.mysql_error());

    ?>

    数据库连接参数,可以用常量存储,这样就不能修改,更加安全。

    <?php

    define('DB_USER','root');

    define('DB_PASSWORD','yangfan');

    define('DB_HOST','localhost');

    define('DB_NAME','school');

    ?>

    选择你所需要的数据库

    <?php

    @mysql_select_db(DB_NAME) or die('数据库找不到!错误信息:'.mysql_error());

    ?>

    设置字符集,如果是GBK,直接设置SET NAMES GBK即可

    <?php

    @mysql_query('SET NAMES UTF8') or die('字符集设置错误');

    ?>

    获取记录集

    <?php

    $query = "SELECT * FROM grade";

    $result = @mysql_query($query) or die('SQL语句有误!错误信息: '.mysql_error());

    ?>

    输出一条记录

    <?php

    print_r(mysql_fetch_array($result,MYSQL_ASSOC));

    ?>

    释放结果集资源

    <?php

    mysql_free_result($result);

    ?>

    关闭数据库

    <?php

    mysql_close($conn);

    ?>

    二.增删改查

    新增数据

    <?php

    $query = "INSERT INTO grade (name,email,point,regdate) VALUE

     ('李炎恢','yc60.com@gmail.com',,NOW())";

    @mysql_query($query) or die('添加数据出错:'.mysql_error());

    ?>

    修改数据

    <?php

    $query = "UPDATE grade SET name='小可爱' WHERE id=6";

    @mysql_query($query) or die('修改出错:'.mysql_error());

    ?>

    删除数据

    <?php

    $query = "DELETE FROM grade WHERE id=6";

    @mysql_query($query) or die('删除错误:'.mysql_error());

    ?>

    显示数据

    <?php

    $query = "SELECT id,name,email,point FROM grade";

    $result = @mysql_query($query) or die('查询语句出错:'.mysql_error());

    while (!!$row = mysql_fetch_array($result)) {

    echo $row['id'].'----'.$row['name'].'----'.$row['email'].'----'.$row['point'];

    echo '<br />';

    }

    ?>

    三.其他常用函数

    mysql_fetch_row():从结果集中取得一行作为枚举数组

    mysql_fetch_assoc() 从结果集中取得一行作为关联数组 

    mysql_fetch_array() 从结果集中取得一行作为关联数组,或数字数组,或二者兼有 

    mysql_fetch_lengths() 取得结果集中每个输出的长度 

    mysql_field_name()  取得结果中指定字段的字段名 

    mysql_num_rows() 取得结果集中行的数目

    mysql_num_fields()取得结果集中字段的数目

    mysql_get_client_info() 取得 MySQL 客户端信息

    mysql_get_host_info() 取得 MySQL 主机信息

    mysql_get_proto_info() 取得 MySQL 协议信息

    mysql_get_server_info() 取得 MySQL 服务器信息

    ================================================================

    ================================================================

    ================================================================

    整体操作:

    <?php
    
    /*     mysql_query() 仅对 SELECT,SHOW,DESCRIBE, EXPLAIN 和其他语句 语句返回一个 resource,如果查询出现错误则返回 FALSE。
        
        对于其它类型的 SQL 语句,比如INSERT, UPDATE, DELETE, DROP 之类, mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。
        
        返回的结果资源应该传递给 mysql_fetch_array() 和其他函数来处理结果表,取出返回的数据。
        
        假定查询成功,可以调用 mysql_num_rows() 来查看对应于 SELECT 语句返回了多少行
        或者调用 mysql_affected_rows() 来查看对应于 DELETE,INSERT,REPLACE 或 UPDATE 语句影响到了多少行。
        
        如果没有权限访问查询语句中引用的表时,mysql_query() 也会返回 FALSE。
    */
    
        //第一步,设置输出编码
        header('Content-Type:text/html; charset=utf-8');
    
        //第二步,定义常量,保存链接参数
        //数据库服务器
        define('DB_SERVER','localhost:3306');
        //用户名
        define('DB_NAME','root');
        //密码
        define('DB_PWD','123456');
        //数据库
        define('DB_DATABASE', 'guest');
        
        
        //第三步,连接数据库服务器
        $conn = @mysql_connect(DB_SERVER,DB_NAME,DB_PWD) or die('数据库连接错误:'.mysql_error($conn));
        
        //第四步,选择使用的数据库
        @mysql_select_db(DB_DATABASE,$conn) or die('选择数据库错误:'.mysql_error($conn));
    
        //第五步,设置返回数据的字符集
        @mysql_query('SET NAMES UTF8') or die('字符集设置错误');
        
        //第六步,创建并发送一条SQL语句
        //创建SQL语句
        $query = "select * from g_users";
        //发送语句
        $result = @mysql_query($query,$conn) or die('SQL错误,错误信息:'.mysql_errno());
        
        //第七步,取得查询的数据
        //取得所有数据
        $data = mysql_fetch_array($result,MYSQL_ASSOC);
        //取得总记录条数
        //$data = mysql_num_rows($result);
        
        //第八步,打印出数据
        print_r($data);
        
        //第九步,销毁获取的数据资源
        mysql_free_result($result);
        
        //第十步,关闭数据库连接
        mysql_close($conn);
    ?>

    配置MySQLHELper代码:

    <?php
    
        //第一步,设置输出编码
        header('Content-Type:text/html; charset=utf-8');
        
        //第二步,定义常量,保存链接参数
        //数据库服务器
        define('DB_SERVER','localhost:3306');
        //用户名
        define('DB_NAME','root');
        //密码
        define('DB_PWD','123456');
        //数据库
        define('DB_DATABASE', 'test');
        
        
        //第三步,连接数据库服务器
        $conn = @mysql_connect(DB_SERVER,DB_NAME,DB_PWD) or die('数据库连接错误:'.mysql_error($conn));
        
        //第四步,选择使用的数据库
        @mysql_select_db(DB_DATABASE,$conn) or die('选择数据库错误:'.mysql_error($conn));
        
        //第五步,设置返回数据的字符集
        @mysql_query('SET NAMES UTF8') or die('字符集设置错误');
    
    ?>

    操作代码:

    <?php
    
        include_once 'config.php';
        
        //添加一条数据
        /* $Insert_query = "insert into person (name, sex) values ('张三', '男')";
        //执行
        @mysql_query($Insert_query) or die('插入操作失败,错误原因:'.mysql_error());
        //返回 insert ,delete, update,等修改的行数
        $num = mysql_affected_rows(); 
        
        //显示信息
        /* if ($num == 1) {
         echo '添加成功!';
         }else {
         echo '添加失败!';
         } */
         
        
        
        
        //删除一条数据
        /* $delete_query = "delete from person where id = 7";
        //执行
        @mysql_query($delete_query) or die('删除数据失败,错误原因:'.mysql_error());
        $num = mysql_affected_rows();
        
        //显示信息
        /* if ($num == 1) {
         echo '删除成功!';
         }else {
         echo '删除失败!';
         } */
        
        
        
        
        
        //修改一条数据
        /* $update = "update person set name = '王五', sex = '女' where id = 8";
        //执行
        @mysql_query($update) or die('修改发生错误,错误原因:'.mysql_error());
        $num = mysql_affected_rows();
        
        //显示信息
        /* if ($num == 1) {
            echo '修改成功!';
        }else {
            echo '修改失败!';
        } */
        
        
        
        
        
        
        //查询数据
        /* $query = "select id, name, sex from person";
        $result = mysql_query($query); */
        //打印单行
        /* $row = mysql_fetch_array($result,MYSQL_ASSOC);
        echo $row['id'].'--'.$row['name'].'--'.$row['sex']; */
        
        //打印多行
        //当$row不为空的时候,打印数据。使用"!!"的作用是,使得$row数组转换为布尔值。
        /* while (!!$row = mysql_fetch_array($result)) {
            echo $row['id'].'--'.$row['name'].'--'.$row['sex']."<br/>";
        } */
        
        
        
        
        
        
        
        
        
        
        //获取记录条数
        /* $num_query = "select id, name, sex from person";
        $result = mysql_query($num_query) or die('查询条数出错,错误信息:'.mysql_error());
        $num = mysql_num_rows($result);
        
        echo '条数:'.$num; */
        
        //关闭数据库链接
        mysql_close();
    
    ?>
  • 相关阅读:
    事件处理之跨浏览器
    IE事件处理
    DOM0级事件处理、DOM2级事件处理
    JS内置对象学习总结
    JS事件响应的学习总结
    vuex的学习例子
    npm run build 打包后,如何运行在本地查看效果(Apache服务)
    Vue.js 引入外部js方法
    Table展开行
    正则表达式test()和exec()、 search() 和 replace()用法实例
  • 原文地址:https://www.cnblogs.com/KTblog/p/4956413.html
Copyright © 2020-2023  润新知