• 技术文章 >后端开发 >php教程

    PHP的学习--连接MySQL的两种方式

    2016-08-08 09:26:48原创406
    记录一下PHP连接MySQL的两种方式。

    先mock一下数据,可以执行一下sql。

    /*创建数据库*/
    CREATE DATABASE IF NOT EXISTS `test`;
    
    /*选择数据库*/
    USE `test`;
    
    /*创建表*/
    CREATE TABLE IF NOT EXISTS `user` (
        name varchar(50),
        age int
    );
    
    /*插入测试数据*/
    INSERT INTO `user` (name, age) VALUES('harry', 20), ('tony', 23), ('harry', 24);

    第一种是使用PHP原生的方式去连接数据库。代码如下:

    php
    $host = 'localhost';
    $database = 'test';
    $username = 'root';
    $password = 'root';
    $selectName = 'harry';//要查找的用户名,一般是用户输入的信息
    
    $connection = mysql_connect($host, $username, $password);//连接到数据库
    mysql_query("set names 'utf8'");//编码转化
    if (!$connection) {
        die("could not connect to the database.\n" . mysql_error());//诊断连接错误
    }
    $selectedDb = mysql_select_db($database);//选择数据库
    if (!$selectedDb) {
        die("could not to the database\n" . mysql_error());
    }
    $selectName = mysql_real_escape_string($selectName);//防止SQL注入
    $query = "select * from user where name = '$selectName'";//构建查询语句
    $result = mysql_query($query);//执行查询
    if (!$result) {
        die("could not to the database\n" . mysql_error());
    }
    while ($row = mysql_fetch_row($result)) {
        //取出结果并显示
        $name = $row[0];
        $age = $row[1];
        echo "Name: $name ";
        echo "Age: $age ";
        echo "\n";
    }

    其运行结构如下:

    Name: harry Age: 20 
    Name: tony Age: 23 

    第二种是使用PDO的方式去连接数据库,代码如下:

    php
    $host = 'localhost';
    $database = 'test';
    $username = 'root';
    $password = 'root';
    $selectName = 'harry';//要查找的用户名,一般是用户输入的信息
    
    $pdo = new PDO("mysql:host=$host;dbname=$database", $username, $password);//创建一个pdo对象
    $pdo->exec("set names 'utf8'");
    $sql = "select * from user where name = ?";
    $stmt = $pdo->prepare($sql);
    $rs = $stmt->execute(array($selectName));
    
    if ($rs) {
        // PDO::FETCH_ASSOC 关联数组形式
        // PDO::FETCH_NUM 数字索引数组形式
        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
            $name = $row['name'];
            $age = $row['age'];
            echo "Name: $name ";
            echo "Age: $age ";
            echo "\n";
        }
    }
    
    $pdo = null;//关闭连接

    其结果与第一种相同。

    以上就介绍了PHP的学习--连接MySQL的两种方式,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:Windows下 Apache + PHP SESSION丢失的惨痛经历 下一篇:Zend Studio 11.0.2 破解和汉化
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• 细思极恐?关于in_array的第3个参数• PHP 编程的 5个良好习惯_php技巧• PHP无限分类的类_php技巧• 超强分页类2.0发布,支持自定义风格,默认4种显示模式_php实例• PHP递归创建多级目录_PHP
    1/1

    PHP中文网