zoukankan      html  css  js  c++  java
  • 数据库连接扩展

    摘要:PHP中一个数据库可能有一个或者多个扩展,其中既有官方的,也有第三方提供的。像Mysql常用的扩展有原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接与操作。不同的扩展提供基本相近的操作方法,不同的是可能具备一些新特性,以及操作性能可能会有所不同。

    1.mysql扩展进行数据库连接的方法:

    $link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
    例子:
    <?php   $link = mysql_connect('127.0.0.1', 'code1', '') or die('数据库连接失败');   mysql_select_db('db_name');   mysql_query("set names 'utf8'");   $result = mysql_query('select * from user limit 1');   $row = mysql_fetch_assoc($result);   print_r($row);

    2.mysqli扩展:

        $link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
      例子:(面向过程风格)
      <?php    $link = mysqli_connect('127.0.0.1', 'user', 'pwd' ) or die( '连接失败' );    mysqli_select_db( $link, 'db_name');    mysqli_query( $link, "set names 'utf8' ");    $result = mysqli_query( $link, 'select * from user limit 1');    $row = mysqli_fetch_row($result);    print_r($row);

    面向对象风格:
    <?php header("content-type:text/html; charset=utf8"); define("HOST",'localhost'); define("USER",'root'); define("PWD",'root'); define("DBNAME",'bookstore'); //面向对象风格 $db = new mysqli(HOST,USER,PWD,DBNAME); /* *$db = new mysqli(); *$db->connect(HOST, USER, PWD,DBNAME); *$db->close(); */ if($db->connect_errno){ echo '连接失败!'.mysqli_connect_errno().':'.mysqli_connect_error(); exit(); } $db->query("set names utf8 "); //$db->set_charset('utf8'); $result=$db->query("select * from user "); $row = $result->fetch_array(); var_dump($row);

    3.PDO扩展:

    $dsn = 'mysql:dbname=testdb;host=127.0.0.1';
    $user = 'dbuser';
    $password = 'dbpass';
    $dbh = new PDO($dsn, $user, $password);
    例子:
    <?php
      $dsn = 'mysql:dbname=db_name;host=127.0.0.1';
      $user = 'root';
      $password = '';
      $dbh = new PDO($dsn, $user, $password) or die('连接数据库失败');
      $dbh->query( "set names 'utf8' " );
      $result = $dbh->query('select * from user limit 1');
      $row =$result->fetch(PDO::FETCH_ASSOC); //设置输出数组形式
      print_r($row); 
    
    /*PDO数组样式:
    *要注意的是,这里包括mysql_fetch_...()函数,这里的参数是一个结果集,而不是一个SQL语句
    *select/desc/describe/show/explain执行成功返回mysqli_result对象,执行失败返回false,对于其余SQL语句的执行的返回值是一个布尔类型的值 *PDO::FETCH_ASSOC-->关联数组mysql_fetch_assoc($result) *PDO::FETCH_NUM-->数字索引数组mysql_fetch_row($result) *PDO::FETCH_BOTH-->两者数组形式都有,默认。mysql_fetch_array() *PDO::FETCH_OBJ-->按照对象的形式$arr=mysql_fetch_object($result) mysql_fetch_object()得到对象结果集,调用和对象调用属性一样:$arr->name;//调用改对象中的name属性 *PDO::FETCH_BOUND-->以布尔值的形式返回 *PDO::FETCH_LAZY-->以关联数组,数字数组,对象3钟形式返回结果
    */
    明天你会感谢此刻自己的努力!
  • 相关阅读:
    依赖倒置原则
    接口声明
    java泛型
    RandomAccessFile
    InputStreamReader/OutputStreamWriter乱码问题解决
    InputStreamReader和OutputStreamWriter
    Android开发UI之Notification
    Android开发UI之Toast的使用
    Android开发之PagerAdapter
    Android开发UI之ViewPager及PagerAdapter
  • 原文地址:https://www.cnblogs.com/lms520/p/4437093.html
Copyright © 2011-2022 走看看