ホームページ php教程 php手册 一些简单的PHP连接数据库例子详解

一些简单的PHP连接数据库例子详解

Jun 13, 2016 am 10:09 AM
php はじめる について データベース 記事 単純 詳しい 詳しい説明 接続する

本文章来给各位php入门者详细关于php连接数据库的实例代码,这里主要讲到了入门级的mysql连接代码到高级的封装数据库连接类,希望此文章对各位朋友所有帮助。

连接MySQL数据库的两种方法:

(1)利用PHP的数据库函数连接

此方式是最常用的一种方式.
这里主要用到四个数据库函数:
mysql_connect () 建立与MySQL服务器的连接。
mysql_select_db ():选择MySQL服务器中的数据库供以后的数据查询操作query处理。
mysql_query ():送出query字符串以帮助MySQL做相关的处理或执行。
mysql_fetch_row ():用来将查询结果result单行移到数组变量中。数组的索引是数字
索引,第一个索引值是0。


(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 可选。规定登录所用的密码。默认是 ""。

 代码如下 复制代码

$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_close($con);
?>

面向对象mysqli(详细教程)

 代码如下 复制代码


$mysqli = new mysqli('localhost','root','','volunteer');
if (mysqli_connect_errno()){
 die('Unable to connect!'). mysqli_connect_error();
}
?>

pdo连接mysql(详细教程)

 代码如下 复制代码


 
$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连接数据库

 代码如下 复制代码


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数据连接类

 代码如下 复制代码


//------------------------------------------------------------------------------------------
// ※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("Database Query Error: %s
n", $msg);
            printf("MySql Error: %s
n", mysql_error());
        }else
            echo ""; //自定一个出错提示文件
        return false;
    }
}

switch ($db->dbType) {
    case 1:
        @mysql_close();
        break;
    case 2:
        break;
}
$db = new Database();
?>

友情提示

如果出现连接mysql数据库中文乱码我们可以在连接数据库查询之前加上mysql_query("set names utf8"); 如果你是gbk就使用gbk编编码了

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPythonの選択:ガイド PHPとPythonの選択:ガイド Apr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとPython:彼らの歴史を深く掘り下げます PHPとPython:彼らの歴史を深く掘り下げます Apr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPの影響:Web開発など PHPの影響:Web開発など Apr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHP対Python:ユースケースとアプリケーション PHP対Python:ユースケースとアプリケーション Apr 17, 2025 am 12:23 AM

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

PHPの継続的な使用:その持久力の理由 PHPの継続的な使用:その持久力の理由 Apr 19, 2025 am 12:23 AM

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

MySQL:構造化データとリレーショナルデータベース MySQL:構造化データとリレーショナルデータベース Apr 18, 2025 am 12:22 AM

MySQLは、テーブル構造とSQLクエリを介して構造化されたデータを効率的に管理し、外部キーを介してテーブル間関係を実装します。 1.テーブルを作成するときにデータ形式と入力を定義します。 2。外部キーを使用して、テーブル間の関係を確立します。 3。インデックス作成とクエリの最適化により、パフォーマンスを改善します。 4.データベースを定期的にバックアップおよび監視して、データのセキュリティとパフォーマンスの最適化を確保します。

ビジネスの世界におけるオラクルの役割 ビジネスの世界におけるオラクルの役割 Apr 23, 2025 am 12:01 AM

Oracleはデータベース会社だけでなく、クラウドコンピューティングとERPシステムのリーダーでもあります。 1。Oracleは、データベースからクラウドサービスおよびERPシステムへの包括的なソリューションを提供します。 2。Oraclecloudは、AWSとAzureに挑戦し、IAAS、PAAS、SAASサービスを提供します。 3. e-businesssuiteやfusionApplicationsなどのOracleのERPシステムは、企業がオペレーションを最適化するのに役立ちます。

See all articles