ホームページ  >  記事  >  バックエンド開発  >  PHP でデータベースに接続するにはどのような方法がありますか?

PHP でデータベースに接続するにはどのような方法がありますか?

一个新手
一个新手オリジナル
2017-09-06 15:53:3332641ブラウズ

PHP でデータベースに接続するにはどのような方法がありますか?

PHP でデータベースに接続するための一般的なメソッド

1. Mysql_connect() を使用してデータベースに接続します

これは、私たちが最初に PHP を学習し始めたときに遭遇した最初のデータベース接続メソッドです。 () 関数は接続結果を返すことができ、次に MySQL 接続識別子を返し、失敗した場合は FALSE を返します。

コードサンプル

<?php
  $con=mysql_connect("localhost" ,"root","password")
  if($con){
    mysql_select_db("db_name",$con);
    $sql="select * from table_name where id=1";
    $result=mysql_query($sql);
    while($row=mysql_fetch_row($result)){
        echo  "$row";
    }
  }else{
    die("无法连接数据库".mysql_error());
  }
  mysql_close($con);
?>

この接続方法は、長い接続ではなく、短い接続です。接続が長い場合は、mysql_pconnectct() を使用してください。

MySQL 拡張機能は次のとおりです。 PHP アプリケーションの初期の拡張機能が MySQL データベースと対話できるように設計および開発されました。 MySQL 拡張機能はプロシージャ指向のインターフェイスを提供し、MySQL 4.1.3 以前向けに設計されています。

つまり、この拡張機能は MySQL 4.1.3 以降のデータベース サーバーと対話できますが、それ以降の MySQL サーバーが提供する一部の機能はサポートしていません。あまりにも古くて安全ではないため、後の mysqli に完全に置き換えられました

これは、オブジェクト指向のデータベース接続方法です。このオブジェクトはデータベース操作を実行するためのものです

コードサンプル

<?php
    $con=new mysqli("localhost","root","password","db_name");
    if(!mysqli_connect_error()){
    $sql="select * from table_name where id=1";
    $result=$con->query($sql);
    while($row=$result->fetch_row($result)){
        echo  "$row";
    }
  }else{
    die("无法连接数据库".mysql_error());
  }

mysqli は長い接続メソッドであり、mysql_connect より安全です

説明:

mysqli 拡張機能 (MySQL 拡張拡張機能とも呼ばれます) は、MySQL4.1.3 または更新されたバージョンの新しい高度な機能。

その機能は、オブジェクト指向インターフェイス、プリペアドステートメントのサポート、複数ステートメントの実行サポート、トランザクションサポート、強化されたデバッグ機能、組み込みサービスのサポート、SQL インジェクションの問題を完全に解決する前処理方法です。ただし、mysql データベースのみをサポートするという欠点もあります。他のデータベースを操作しない場合は、これが間違いなく最良の選択です。

3. PDOを使用する

pdoはphp5センターによって追加されたデータベースに接続する方法です

コードサンプル

<?php
$mysql_conf = array(
    &#39;host&#39;    => &#39;127.0.0.1:3306&#39;, 
    &#39;db&#39;      => &#39;test&#39;, 
    &#39;db_user&#39; => &#39;root&#39;, 
    &#39;db_pwd&#39;  => &#39;joshua317&#39;, 
    );
$pdo = new PDO("mysql:host=" . $mysql_conf[&#39;host&#39;] . ";dbname=" . $mysql_conf[&#39;db&#39;], $mysql_conf[&#39;db_user&#39;], $mysql_conf[&#39;db_pwd&#39;]);//创建一个pdo对象
$pdo->exec("set names &#39;utf8&#39;");
$sql = "select * from user where name = ?";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(1, &#39;joshua&#39;, PDO::PARAM_STR);
$rs = $stmt->execute();
if ($rs) {
    // PDO::FETCH_ASSOC 关联数组形式
    // PDO::FETCH_NUM 数字索引数组形式
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        var_dump($row);
    }
}
 
$pdo = null;//关闭连接
?>

説明:

PDOはPHP Data Objectsの略で、データベース抽象化レイヤーですPHP アプリケーションの仕様に記載されています。

PDO は、PHP アプリケーションが接続する特定のデータベース サーバー システムの種類を気にしないようにするための統合 API インターフェイスを提供します。つまり、PDO の API を使用すると、必要に応じていつでもデータベース サーバーをシームレスに切り替えることができます。 Oracle から MySQL への変換では、少量の PHP コードのみを変更する必要があります。

その機能は、JDBC、ODBC、DBI などのインターフェイスに似ています。同様に、SQL インジェクションの問題も解決し、優れたセキュリティを備えています。ただし、いくつかの複数ステートメントの実行クエリがサポートされていないという欠点もあります (ただし、このような状況はまれです)。

関連知識の詳細については、

PHP 中国語 Web サイト

をご覧ください。 !

以上がPHP でデータベースに接続するにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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