亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP が MySQL に接続する

PHP 5 以降では、次の方法を使用して MySQL に接続することをお?jiǎng)幛幛筏蓼?

MySQLi 拡張機(jī)能 (「i」は改良されたことを意味します)

PDO (PHP Data Objects)

PHP の初期のバージョンでは、 MySQL 拡張機(jī)能。ただし、この拡張機(jī)能は 2012 年に廃止されました。

PDO の完全な概要については、PHP リファレンス マニュアルの PHP PDO を參照してください

MySQLi と PDO を使用する必要がありますか?

短い答えが必要な場合、つまり「どちらかを使用してください」慣れている" 。和Mysqli と PDO にはそれぞれ次の利點(diǎn)があります:

PDO MySQLI

データベースをサポート 12 の異なるデータベースをサポート Mysql

api OOP OOP +process

接続 Easy Easy

ネーミングパラメータのサポートはサポートしません

オブジェクトマッピングのサポート サポートサポート 處前処理ステートメント (クライアント) はサポートしません

パフォーマンスが高速です

サポートをサポートするストレージ プロシージャをサポートします

、PDO のさまざまなメソッドと屬性はより汎用的です さまざまなデータベースを考慮する必要があります 操作の範(fàn)囲が広いです。プロジェクトで複數(shù)のデータベースを切り替える必要がある場合は、この方法で PDO を使用することをお?jiǎng)幛幛筏蓼?。変更する必要があるのは、接続文字列と部門クエリ ステートメントだけです。 MySQLi の一連のクラスとメソッドは MySQL データベースのみを操作できます。MySQLi を使用して別のデータベースを使用する場合は、クエリを含むすべてのコードを書き直す必要があります。

どちらもオブジェクト指向ですが、MySQLi も API インターフェイスを提供します。

どちらも準(zhǔn)備されたステートメントをサポートします。 プリペアド ステートメントは SQL インジェクションを防ぐことができ、Web プロジェクトのセキュリティにとって非常に重要です。

MySQLi と PDO は MySQL インスタンスに接続します

この章と次の章では、次の 3 つの方法を使用して MySQL の PHP 操作を説明します:

MySQLi (オブジェクト指向)

MySQLi (プロセス指向)

PDO


MySQLi のインストール

Linux および Windows: ほとんどの場合、MySQLi 拡張機(jī)能は、php5 mysql パッケージがインストールされるときに自動(dòng)的にインストールされます。

インストールの詳細(xì)については、http://php.net/manual/en/mysqli.installation.phpを確認(rèn)してください。

PHPソフトウェア(PhpStorm)のサフィックス名を使用して.phpファイルにphpinfo()を記述することができます。クリック ブラウザを開いて、インストールが成功したかどうかを確認(rèn)します:

105.jpg


PDO インストール

インストールの詳細(xì)については、次を確認(rèn)してください: http://php.net/manual/en/pdo.installation .php

インストールが成功したかどうかは phpinfo() で確認(rèn)できます:

106.jpg

MySQL に接続します

MySQL データベースにアクセスする前に、まずデータベース サーバーに接続する必要があります:

インスタンス (MySQLi - オブジェクト指向)

<?php
// 三個(gè)參數(shù)
$servername = "localhost";   // 服務(wù)器地址(域名、IP)
$username = "username";   // 數(shù)據(jù)庫用戶名 
$password ="password";   // 數(shù)據(jù)庫密碼(可能為空)
// 創(chuàng)建連接
$conn =new mysqli($servername, $username, $password);
// 檢測連接
if ($conn->connect_error) {
    die("連接失敗: " . $conn->connect_error);
} 
echo "連接成功";
?>

上記のオブジェクト指向の例の $connect_error は、PHP 5.2.9 および 5.3.0 で追加されたものであることに注意してください。以前のバージョンとの互換性が必要な場合は、次のコード置換を使用してください:

// 接続を検出
if (mysqli_connect_error()) {
die("データベース接続に失敗しました: " . mysqli_connect_error());
}

インスタンス (MySQLi - プロセス指向)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 創(chuàng)建連接
$conn = mysqli_connect($servername,$username, $password);
// 檢測連接
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "連接成功";
?>

上記のプロセス指向の例で、データベースに接続するときに接続するデータベース名を直接選択したい場合は、 4 番目のパラメータになります:

$db_name = "db_name"; // データベース名


// 接続を作成します $conn = mysqli_connect($servername, $username, $password, $db_name);


インスタンス (PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB",$username, $password);
    echo "連接成功";
}
catch(PDOException $e)  // PDOException 錯(cuò)誤處理 
{
   echo $e->getMessage();  // getMessage()取得文本化的錯(cuò)誤信息 
}
?>
上記の PDO の例では、データベース (myDB) を指定していることに注意してください。 PDO は、接続プロセス中にデータベース名を設(shè)定する必要があります。 指定しない場合、例外がスローされます。 ???????????????????????????????????????????????????????????????????

接続を閉じる

スクリプトの実行後、接続は自動(dòng)的に閉じられます。次のコードを使用して接続を閉じることもできます:

Instance (MySQLi - オブジェクト指向)

$coon->close();

Instance (MySQLi - Procedural)

mysql_close( $ coon);

インスタンス (PDO)

mysql_close($coon);


付録

データベースに接続してクエリ結(jié)果を取得するための完全なコードを添付します (for參照):

インスタンス

<?php
$conn = mysqli_connect($servername,$username,$password);  // 獲取連接
if($conn){  //判斷是否連接
   mysqli_select_db($conn,"db_name"); // 選擇一個(gè)數(shù)據(jù)庫
   mysqli_query($conn,"set names utf8");   // 查詢輸出要使用utf8的編碼格式,避免亂碼
   $sql = "select * from product;";  // 查找到數(shù)據(jù)庫的product表()
   $result = mysqli_query($conn,$sql);  // 從鍵連獲取到數(shù)據(jù)庫的字表 
   while($row = mysqli_fetch_array($result,MYSQL_ASSOC)){   // MYSQLI_ASSOC返回鍵值形式數(shù)組
      echo $row["需要輸出的表中列的名稱"]; 
   } 
   mysqli_free_result($result);   // 釋放內(nèi)存在 
   mysqli_close($conn);   // 關(guān)閉連接 
   echo "成功"; 
   }else{ 
   echo "失敗"; 
}; 
?>


學(xué)び続ける
||
<?php $servername = "localhost"; $username = "username"; $password = "password"; // 創(chuàng)建連接 $conn = new mysqli($servername, $username, $password); // 檢測連接 if ($conn->connect_error) { die("連接失敗: " . $conn->connect_error); } echo "連接成功"; ?>
提出するリセットコード