PHP5.5 mysqliに基づくMySQLデータベースへの接続とデータの読み取り操作の例の詳細
5581 ワード
この例ではPHP 5について述べる.5 mysqliに基づいてMySQLデータベースに接続し、データを読み込む操作.皆さんの参考にしてください.具体的には以下の通りです.
勉強しています.PHPのAPIサポートを開く
(1)まずphpを変更します.iniのプロファイル.
次の文を検索します.
次のように変更します.
(2)Apache/ISを再起動すればよい.
(3)説明:PHPはこの拡張ライブラリをサポートするために個別のファイルが必要であり、一般的にPHPディレクトリの下のextディレクトリでphp_を見つけることができる.mysqli.dllファイル(PHP<=5.0.2はlibmysqli.dll)は、もちろん、PHPのプロファイルにはextを正しく指す情報(extension_dir)が必要です.もしあなたのPHPにこのファイルがなければ、PHP 5のソースパッケージをダウンロードすることができます.なお、このAPI拡張は、PHP 5以上でしか使用できません.その他の詳細は、以下を参照してください.
2.PHP mysqli身分証明書
mysqliは「MySQL,Improved」の略で、この拡張はPHP 5にのみ適用されます.MySQL 4.1に使用できます.1以降.この拡張はMySQL 5.1で使用される認証プロトコルを完全にサポートし、前処理文とマルチ文APIもサポートします.さらに、この拡張は、先進的なオブジェクト向けのプログラミングインタフェースを提供します.
MySQLiの使用
次の例では、myDBデータベースのMyGuestsテーブルからid、firstname、lastname列のデータを読み込み、ページに表示します.
以上のコードは以下のように解析されます.
まず,SQL文がMyGuestsデータテーブルからid,firstname,lastnameの3つのフィールドを読み出すように設定した.その後、変更SQL文を使用してデータベースから結果セットを取り出し、変数$resultにコピーします.
関数
複数のデータが返される場合、関数
次の例では、MySQLiのプロシージャ向けの方法を使用します.効果は上記のコードに似ています.
インスタンス(MySQLi-プロシージャ向け)
PDOの使用(+前処理)
次の例では、前処理文を使用します.
MyGuestsテーブルのid、firstname、lastnameフィールドを選択し、HTMLテーブルに配置します.
PHPに関する詳細について興味のある読者は、「php+mysqliデータベースプログラム設計テクニック総括」、「phpオブジェクト向けプログラム設計入門チュートリアル」、「PHP配列(Array)操作テクニック大全」、「PHP基本文法入門チュートリアル」、「php文字列(string)用法総括」、「php+mysqlデータベース操作入門チュートリアル」および「php一般データベース操作テクニック要約」
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.
勉強しています.PHPのAPIサポートを開く
(1)まずphpを変更します.iniのプロファイル.
次の文を検索します.
;extension=php_mysqli.dll
次のように変更します.
extension=php_mysqli.dll
(2)Apache/ISを再起動すればよい.
(3)説明:PHPはこの拡張ライブラリをサポートするために個別のファイルが必要であり、一般的にPHPディレクトリの下のextディレクトリでphp_を見つけることができる.mysqli.dllファイル(PHP<=5.0.2はlibmysqli.dll)は、もちろん、PHPのプロファイルにはextを正しく指す情報(extension_dir)が必要です.もしあなたのPHPにこのファイルがなければ、PHP 5のソースパッケージをダウンロードすることができます.なお、このAPI拡張は、PHP 5以上でしか使用できません.その他の詳細は、以下を参照してください.
2.PHP mysqli身分証明書
mysqliは「MySQL,Improved」の略で、この拡張はPHP 5にのみ適用されます.MySQL 4.1に使用できます.1以降.この拡張はMySQL 5.1で使用される認証プロトコルを完全にサポートし、前処理文とマルチ文APIもサポートします.さらに、この拡張は、先進的なオブジェクト向けのプログラミングインタフェースを提供します.
MySQLiの使用
次の例では、myDBデータベースのMyGuestsテーブルからid、firstname、lastname列のデータを読み込み、ページに表示します.
connect_error) {
die(" : " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
//
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 ";
}
$conn->close();
?>
以上のコードは以下のように解析されます.
まず,SQL文がMyGuestsデータテーブルからid,firstname,lastnameの3つのフィールドを読み出すように設定した.その後、変更SQL文を使用してデータベースから結果セットを取り出し、変数$resultにコピーします.
関数
num_rows()
は、返されたデータを判断する.複数のデータが返される場合、関数
fetch_assoc()
は、結合セットを関連配列に配置し、出力をループする.while()
は結果セットをループし、id、firstname、lastnameの3つのフィールド値を出力する.次の例では、MySQLiのプロシージャ向けの方法を使用します.効果は上記のコードに似ています.
インスタンス(MySQLi-プロシージャ向け)
0) {
//
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 ";
}
mysqli_close($conn);
?>
PDOの使用(+前処理)
次の例では、前処理文を使用します.
MyGuestsテーブルのid、firstname、lastnameフィールドを選択し、HTMLテーブルに配置します.
";
echo "IdFirstnameLastname";
class TableRows extends RecursiveIteratorIterator {
function __construct($it) {
parent::__construct($it, self::LEAVES_ONLY);
}
function current() {
return "" . parent::current(). "";
}
function beginChildren() {
echo "";
}
function endChildren() {
echo "" . "
";
}
}
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests");
$stmt->execute();
//
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
echo $v;
}
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
echo "";
?>
PHPに関する詳細について興味のある読者は、「php+mysqliデータベースプログラム設計テクニック総括」、「phpオブジェクト向けプログラム設計入門チュートリアル」、「PHP配列(Array)操作テクニック大全」、「PHP基本文法入門チュートリアル」、「php文字列(string)用法総括」、「php+mysqlデータベース操作入門チュートリアル」および「php一般データベース操作テクニック要約」
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.