php链接到mysql数据库,经典的方式就是使用mysql_connect(),具体代码以下:php
mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error()); mysql_select_db($db_name);
<?php $link = mysqli_connect("localhost","root","123456","test") or die("Error " . mysqli_error($link)); //链接,test为数据库的名称 $query = "SELECT name FROM userInfo" or die("Error in the consult.." . mysqli_error($link));//查询 $result = mysqli_query($link, $query);//查询的结果 while($row = mysqli_fetch_array($result)) { echo $row["name"] . "<br>"; } ?>
//mysql mysql_connect("localhost","root","123456"); mysql_select_db("userInfo"); //mysqli mysqli_connect("localhost","root","123456","test");
<?php $mysqli = new mysqli("localhost","root","123456","test") //填写mysql用户名、密码及数据库的名称 or die("Could not connect to MySQL server!"); $mysqli->query("set names utf8"); //设置数据库内数据的编码,至关于同时设置客户端、服务器端和脚本编码方式。 $sql = "select * from userInfo"; $result = $mysqli->query($sql); if($result){ if($result->num_rows>0){ while($row =$result->fetch_array()){//循环输出结果集中的记录 echo ($row[0])." "; echo ($row[1])." "; echo ($row[2])." "; echo "<br/>"; } } }else{ echo "Sorry!"; } $result=NULL; $mysqli->close(); ?>
<?php $pdo = new PDO('pgsql:host=192.168.1.111;port=5432;dbname=anydb', 'anyuser', 'pw');//链接到数据库 sleep(5); $stmt = $pdo->prepare('SELECT * FROM sometable'); $stmt->execute(); $pdo = null;//关闭链接 ?>
PDO(PHP数据对象),是PHP访问数据库的一个轻量级的统一接口。它提供了一个数据访问抽象层,这也就是说不管什么数据库都能用相同的方法进行查询或读取。须要注意的是PDO自己并不能实现任何的数据库功能,而是必需要使用一个具体数据库的PDO驱动进行访问数据库服务。java
二、怎么用PDO?mysql
这里咱们就以PHP的黄金搭档mysql做为例子看看:sql
PDO_MYSQL:PDO_MYSQL是PDO接口可以完成链接mysql数据库的驱动(注:仅使用于mysql 3.x以上版本)。数据库
安装:打开php.ini文件,能够找到以下代码,这里能够看到mysql的驱动默认已经打开(前面没有用于注释的分号),若有链接其余数据库的须要,自行添加其余数据库的驱动程序(取出相应的项前面的分号,没有的添上)。数组
//各数据库的PDO驱动 extension=php_pdo.dll extension=php_pdo_firebird.dll //Firebird extension=php_pdo_informix.dll //Informix extension=php_pdo_mssql.dll //sql server extension=php_pdo_mysql.dll //mysql extension=php_pdo_oci.dll //Oracle extension=php_pdo_oci8.dll extension=php_pdo_odbc.dll //DB2 extension=php_pdo_pgsql.dll //PostgreSQL extension=php_pdo_sqlite.dll //SQLite
//链接到数据库 $db = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
//处理链接错误 try { $db = new PDO('mysql:host=localhost;dbname=test', $user, $pass); //查询 foreach($db->query('SELECT * from FOO') as $row) { print_r($row); } $dbh = null; } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); }
//关闭链接 $db = null;
<?php $dbms='mysql'; //数据库 mysql $host='localhost'; //数据库主机名 $dbName='test'; //数据库名 $user='root'; //链接用户名 $pass=''; //密码 $dsn="$dbms:host=$host;dbname=$dbName"; classdbextendsPDO{ publicfunction__construct(){ try{ parent::__construct("$GLOBALS[dsn]",$GLOBALS['user'],$GLOBALS['pass']); }catch(PDOException$e){ die("Error: ".$e->__toString()."<br/>"); } } publicfinalfunctionquery($sql){ try{ returnparent::query($this->setString($sql)); }catch(PDOException$e){ die("Error: ".$e->__toString()."<br/>"); } } privatefinalfunctionsetString($sql){ echo"处理查询"; return $sql; } } $db=new db(); $db->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER); foreach($db->query('select * from table_name') as $row){ print_r($row); } $db->exec('delete from table_name where id=11'); ?>
PDO::beginTransaction — 启动一个事务 PDO::commit — 提交一个事务 PDO::__construct — 建立一个表示数据库链接的 PDO 实例 PDO::errorCode — 获取跟数据库句柄上一次操做相关的 SQLSTATE PDO::errorInfo — Fetch extended error information associated with the last operation on the database handle PDO::exec — 执行一条 SQL 语句,并返回受影响的行数 PDO::getAttribute — 取回一个数据库链接的属性 PDO::getAvailableDrivers — 返回一个可用驱动的数组 PDO::inTransaction — 检查是否在一个事务内 PDO::lastInsertId — 返回最后插入行的ID或序列值 PDO::prepare — Prepares a statement for execution and returns a statement object PDO::query — Executes an SQL statement, returning a result set as a PDOStatement object PDO::quote — Quotes a string for use in a query. PDO::rollBack — 回滚一个事务 PDO::setAttribute — 设置属性
PDOStatement::bindColumn — 绑定一列到一个 PHP 变量 PDOStatement::bindParam — 绑定一个参数到指定的变量名 PDOStatement::bindValue — 把一个值绑定到一个参数 PDOStatement::closeCursor — 关闭游标,使语句能再次被执行。 PDOStatement::columnCount — 返回结果集中的列数 PDOStatement::debugDumpParams — 打印一条 SQL 预处理命令 PDOStatement::errorCode — 获取跟上一次语句句柄操做相关的 SQLSTATE PDOStatement::errorInfo — 获取跟上一次语句句柄操做相关的扩展错误信息 PDOStatement::execute — 执行一条预处理语句 PDOStatement::fetch — 从结果集中获取下一行 PDOStatement::fetchAll — 返回一个包含结果集中全部行的数组 PDOStatement::fetchColumn — 从结果集中的下一行返回单独的一列。 PDOStatement::fetchObject — 获取下一行并做为一个对象返回。 PDOStatement::getAttribute — 检索一个语句属性 PDOStatement::getColumnMeta — 返回结果集中一列的元数据 PDOStatement::nextRowset — 在一个多行集语句句柄中推动到下一个行集 PDOStatement::rowCount — 返回受上一个 SQL 语句影响的行数 PDOStatement::setAttribute — 设置一个语句属性 PDOStatement::setFetchMode — 为语句设置默认的获取模式。
Exception::getMessage — 获取异常消息内容。 Exception::getPrevious — 返回异常链中的前一个异常 Exception::getCode — 获取异常代码 Exception::getFile — 获取发生异常的程序文件名称 Exception::getLine — 获取发生异常的代码在文件中的行号 Exception::getTrace — 获取异常追踪信息 Exception::getTraceAsString — 获取字符串类型的异常追踪信息 Exception::toString — 将异常对象转换为字符串 Exception::clone — 异常克隆