一些简单的PHP连接数据库例子详解
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-10 13:44:18 浏览: 评论:0
连接MySQL数据库的两种方法:
(1)利用PHP的数据库函数连接
此方式是最常用的一种方式,这里主要用到四个数据库函数:
mysql_connect () 建立与MySQL服务器的连接。
mysql_select_db ():选择MySQL服务器中的数据库供以后的数据查询操作query处理。
mysql_query ():送出query字符串以帮助MySQL做相关的处理或执行。
mysql_fetch_row ():用来将查询结果result单行移到数组变量中,数组的索引是数字
(2)通过ODBC连接
PHP通过ODBC连接MySQL数据库主要用到四个函数:
Odbc_connect ():用来同ODBC数据源建立连接.
Odbc_do ():用来在建立连接之后执行数据库查询.
Odbc_result():用于取得当前记录行中某个字段的值.
Odbc_fetch_row ():用来把查询结果保存到数组,每个数组元素对应一条记录.
我们先来看PHP的数据库函数连接,方法实例,连接到一个 MySQL 数据库,在您能够访问并处理数据库中的数据之前,您必须创建到达数据库的连接,在 PHP 中,这个任务通过 mysql_connect() 函数完成.
语法:mysql_connect(servername,username,password);
参数 描述
servername 可选。规定要连接的服务器。默认是 "localhost:3306"。
username 可选。规定登录所使用的用户名。默认值是拥有服务器进程的用户的名称。
password 可选。规定登录所用的密码。默认是 ""。
PHP实例代码如下:
- <?php
- $con = mysql_connect("localhost","root","");
- if (!$con)
- {
- die('Could not connect: ' . mysql_error());
- }
- mysql_close($con);
- ?>
面向对象mysqli,代码如下:
- <?php
- $mysqli = new mysqli('localhost','root','','volunteer');
- if (mysqli_connect_errno()){
- die('Unable to connect!'). mysqli_connect_error();
- }
- ?>
pdo连接mysql,代码如下:
- <?php
- $db = new PDO('mysql:host=localhost;dbname=test', 'root', '');
- try {
- foreach ($db->query('select * from user') as $row){
- print_r($row);
- }
- $db = null; //关闭数据库
- } catch (PDOException $e) {
- echo $e->getMessage();
- }
- ?>
然后我们还可以使用ODBC连接数据库,代码如下:
- <?php
- require_once './adodb5/adodb.inc.php';
- $conn = &ADONewConnection('mysql');
- $conn->connect('localhost','root','','test');
- $conn->Execute("set names utf8");
- $res = $conn->Execute("select * from user");
- if (!$res){
- echo $conn->ErrorMsg();
- }else{
- var_dump($res);
- }
- ?>
mysql数据连接类,代码如下:
- <?php
- //------------------------------------------------------------------------------------------
- // ※Database() 构造函数,数据库初始参数
- // ※Select() 查询
- // ※GetRows() 返回查询的记录总数
- // ※Insert() 插入记录
- // ※Update() 更新
- // ※Delete() 删除
- // ※Halt() 中断并显示错误信息*/
- //------------------------------------------------------------------------------------------
- define("DATABASETYPE", "1"); //定义数据库类型:1为MySql;2为SQL Server;3为Oracle;4为Odbc
- define("SERVER", "localhost"); //Host name or IP address of the database server
- define("DATABASE", "dbName"); //要连接的数据库名
- define("USER", "tableName"); //用于连接数据库的用户名
- define("PASSWORD", "paswd"); //用于连接数据库的密码
- class Database {
- var $dbLink; //连接句柄
- var $result; //查询句柄
- var $insId; //Insert()成功返回AUTO_INCREMENT列的值
- var $rows; //返回数据数组
- var $numRows; //返回数据数目
- var $dbHost, $dbUser, $userPassword, $database;
- var $dbType = DATABASETYPE;
- var $msgFlag = "yes"; //yes:show the Mysql message ; no: die by show "Halted."
- function Database($dbHost = SERVER, $dbUser = USER, $userPassword = PASSWORD, $database = DATABASE) {
- switch ($this->dbType) {
- case 1:
- $this->dbLink = @mysql_pconnect($dbHost, $dbUser, $userPassword); // or die("Can't Connect to Remote Host!");
- @mysql_select_db($database, $this->dbLink); // or die ("Can't Connect to Remote Host!");
- break;
- case 2:
- break;
- }
- return true;
- }
- /* SQL:Select() 返回为false无结果 */
- function Select($table, $columns, $condition = 1) {
- $sql = "select $columns from $table where $condition ";
- $this->result = @mysql_query($sql, $this->dbLink);
- unset($this->rows);
- if ($this->result) {
- $i = 0;
- if (!($this->rows = array("$i" => @mysql_fetch_array($this->result))))
- return false;
- if (($this->numRows = @mysql_num_rows($this->result)) == 0)
- return false;
- while ($tempRows = @mysql_fetch_array($this->result)) {
- array_push($this->rows, $tempRows);
- }
- } else {
- $this->Halt($sql);
- return false;
- }
- return true;
- }
- /* SQL:GetRows() 返回查询的记录总数 */
- function GetRows($table, $condition = 1) {
- $sql = "select count(1) as count from $table where $condition";
- $this->result = @mysql_query($sql, $this->dbLink);
- if ($this->result) {
- $temp = @mysql_fetch_array($this->result);
- $this->numRows = $temp[count];
- } else {
- $this->Halt($sql);
- return false;
- }
- return $this->numRows;
- }
- /* SQL:Insert() */
- function Insert($table, $columns, $values) {
- $sql = "insert into $table ($columns) values ($values)";
- $this->result = @mysql_query($sql, $this->dbLink);
- if ($this->result)
- $this->insId = @mysql_insert_id($this->dbLink);
- else {
- $this->Halt($sql);
- return false;
- }
- return true;
- }
- /* SQL:Update() */
- function Update($table, $setings, $condition) {
- $sql = "update $table set $setings where $condition";
- $this->result = @mysql_query($sql, $this->dbLink);
- if ($this->result)
- $this->numRows = @mysql_affected_rows($this->result);
- else {
- $this->Halt($sql);
- return false;
- }
- return true;
- }
- /* SQL:Delete */
- function Delete($table, $condition) {
- $sql = "delete from $table where $condition";
- $this->result = @mysql_query($sql, $this->dbLink);
- if ($this->result)
- $this->numRows = @mysql_affected_rows($this->result);
- else {
- $this->Halt($sql);
- return false;
- }
- return true;
- }
- /* Halt():error message */
- function Halt($msg) {
- if ($this->msgFlag == "yes") {
- printf("<b>Database Query Error:</b> %s<br>n", $msg);
- printf("<b>MySql Error:</b> %s<br>n", mysql_error());
- }else
- echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=../include/error.htm'>"; //自定一个出错提示文件
- return false;//开源代码phpfensi.com
- }
- }
- switch ($db->dbType) {
- case 1:
- @mysql_close();
- break;
- case 2:
- break;
- }
- $db = new Database();
- ?>
友情提示:如果出现连接mysql数据库中文乱码我们可以在连接数据库查询之前加上mysql_query("set names utf8"); 如果你是gbk就使用gbk编编码了.
Tags: PHP连接数据库 php连接mysql
相关文章
- ·PHP MySQL入门教程之连接数据库(2014-09-10)
- ·php连接access数据库实现代码(2014-09-11)
- ·php连接mysql数据库(2014-09-11)
- ·php连接mssql 数据库配置与演示代码(2014-09-11)
- ·php 连接数据库并显示所要的数据(2014-09-12)
- ·php 连接access的代码(2014-10-22)
- ·PHP连接数据库实现注册页面的增删改查操作(2019-11-06)
- ·php学习之连接数据库+日期处理(2020-03-05)
- ·php连接mysql,mssql,acces,pdo等连接数据库代码(2014-08-18)
- ·php 连接mysql实例代码(2014-09-11)
- ·php连接mysql与mssql 2005数据库代码(2014-09-11)
- ·php连接mysql数据库并查询记录所有记录(2014-09-11)
- ·php连接mysql数据库(2014-09-11)
- ·php连接mysql,oracle,mssql数据库连接代码(2014-09-11)
- ·测试php连接mysql是否成功的代码分享(2020-08-31)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)