PHP MySQLi 関数: mysqli_query、mysqli_connect、mysqli_fetch_array
PHP には、操作のための豊富な組み込み関数のコレクションが備わっています。 MySQL データベース。
PHP mysqli_connect 関数
PHPのmysql connect関数は、 MySQL データベースサーバー。
構文は次のようになります。
<?php; $db_handle = mysqli_connect($db_server_name, $db_user_name, $db_password); ?>
ここに、
- 「$db_handle」はデータベース接続リソース変数です。
- 「mysqli_connect(…)」はPHPデータベース接続のための関数です
- 「$server_name」は、ホストしているサーバーの名前または IP アドレスです。 MySQL サーバー。
- 「$user_name」は有効なユーザー名です。 MySQL サーバー。
- 「$password」は、ユーザー名に関連付けられた有効なパスワードです。 MySQL サーバー。
PHP mysqli_select_db 関数
mysqli_select_db 関数はデータベースを選択するために使用されます。
構文は次のようになります。
<?php mysqli_select_db($db_handle,$database_name); ?>
ここに、
- 「mysqli_select_db(…)」は、trueまたはfalseを返すデータベース選択関数です。
- 「$database_name」はデータベースの名前です。
- 「$link_identifier」はオプションで、サーバー接続リンクを渡すために使用されます。
PHP mysqli_query 関数
mysqli_query関数は実行に使用されます SQL クエリ
この関数は、次のクエリ タイプを実行するために使用できます。
- インサート
- 選択する
- 更新
- 削除
構文は次のようになります。
<?php mysqli_query($db_handle,$query) ; ?>
ここに、
- 「mysqli_query(…)」はSQLクエリを実行する関数です。
- 「$query」は実行するSQLクエリです。
- 「$link_identifier」はオプションで、サーバー接続リンクを渡すために使用できます。
PHP mysqli_num_rows 関数
mysqli_num_rows 関数は、選択クエリから返される行数を取得するために使用されます。
構文は次のようになります。
<?php mysqli_num_rows($result); ?>
ここに、
- 「mysqli_num_rows(…)」は行数カウント関数です
- “$result”はmysqli_queryの結果セットです
PHP mysqli_fetch_array 関数
mysqli_fetch_array 関数は、クエリ結果セットから行配列を取得するために使用されます。
構文は次のようになります。
<?php mysqli_fetch_array($result); ?>
ここに、
- 「mysqli_fetch_array(…)」は行配列を取得するための関数です。
- 「$result」はmysqli_query関数によって返される結果です。
PHP mysqli_close 関数
mysqli_close 関数は、開いているデータベース接続を閉じるために使用されます。
構文は次のようになります。
<?php mysqli_close($db_handle); ?>
ここに、
- 「mysqli_close(…)」はPHP関数です
- 「$link_identifier」はオプションで、サーバー接続リソースを渡すために使用されます。
これらの機能を活用した実践例を見てみましょう。
その作成 MySQL データベース このチュートリアルは、次の知識を前提としています。 MySQL および SQL、これらの用語に馴染みのない場合は、「 MySQL SQL チュートリアル。
テーブルが XNUMX つだけある my_personal_contacts という単純なデータベースを作成します。
以下にデータベースとテーブルを作成する手順を示します。
- への接続 MySQL お気に入りのアクセス ツールを使用して、 MySQL ワークベンチ、phpMyAdmin など。
- my_person_contacts という名前のデータベースを作成します
- 以下のスクリプトを実行してテーブルを作成し、ダミーデータを挿入します。
<?php CREATE TABLE IF NOT EXISTS `my_contacts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `full_names` varchar(255) NOT NULL, `gender` varchar(6) NOT NULL, `contact_no` varchar(75) NOT NULL, `email` varchar(255) NOT NULL, `city` varchar(255) NOT NULL, `country` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; INSERT INTO `my_contacts` (`id`, `full_names`, `gender`, `contact_no`, `email`, `city`, `country`) VALUES (1, 'Zeus', 'Male', '111', 'zeus @ olympus . mt . co', 'Agos', 'Greece'), (2, 'Anthena', 'Female', '123', 'anthena @ olympus . mt . co', 'Athens', 'Greece'), (3, 'Jupiter', 'Male', '783', 'jupiter @ planet . pt . co', 'Rome', 'Italy'), (4, 'Venus', 'Female', '987', 'venus @ planet . pt . co', 'Mars', 'Italy'); ?>
これで、PHP から操作するデータベースがセットアップされました。
データベースからレコードを読み取る ここでは、データベースからレコードを出力するプログラムを作成します。
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysqli_error());
//if selection fails output error message
$sql_stmt = "SELECT * FROM my_contacts";
//SQL select query
$result = mysqli_query($dbh,$sql_stmt);
//execute SQL statement
if (!$result)
die("Database access failed: " . mysqli_error());
//output error message if query execution failed
$rows = mysqli_num_rows($result);
// get number of rows returned
if ($rows) {
while ($row = mysqli_fetch_array($result)) {
echo 'ID: ' . $row['id'] . '<br>';
echo 'Full Names: ' . $row['full_names'] . '<br>';
echo 'Gender: ' . $row['gender'] . '<br>';
echo 'Contact No: ' . $row['contact_no'] . '<br>';
echo 'Email: ' . $row['email'] . '<br>';
echo 'City: ' . $row['city'] . '<br>';
echo 'Country: ' . $row['country'] . '<br><br>';
}
}
mysqli_close($dbh); //close the database connection
?>
上記のコードを実行すると、次の図に示す結果が返されます。
新しいレコードの挿入
次に、テーブルに新しいレコードを追加する例を見てみましょう。 以下のコードは実装を示しています。
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysql_error());
//if selection fails output error message
$sql_stmt = "INSERT INTO `my_contacts` (`full_names`,`gender`,`contact_no`,`email`,`city`,`country`)";
$sql_stmt .= " VALUES('Poseidon','Mail','541',' poseidon @ sea . oc ','Troy','Ithaca')";
$result = mysqli_query($dbh,$sql_stmt); //execute SQL statement
if (!$result)
die("Adding record failed: " . mysqli_error());
//output error message if query execution failed echo "Poseidon has been successfully added to your contacts list";
mysqli_close($dbh); //close the database connection
?>
上記のコードを実行すると、「Poseidon が連絡先リストに正常に追加されました」という出力が表示されます。選択クエリの例に戻り、連絡先を再度取得します。
ポセイドンがリストに追加されているかどうかを確認してください。
レコードの更新 次に、データベース内のレコードを更新する例を見てみましょう。
ポセイドンが連絡先の電話番号とメールアドレスを変更したとします。
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server
if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysql_error());
//if selection fails output error message
$sql_stmt = "UPDATE `my_contacts` SET `contact_no` = '785',`email` = ' poseidon @ ocean . oc ';
//SQL select query $sql_stmt .= " WHERE `id` = 5";
$result = mysqli_query($dbh,$sql_stmt);
//execute SQL statement if (!$result)
die("Deleting record failed: " . mysqli_error());
//output error message if query execution failed
echo "ID number 5 has been successfully updated";
mysqli_close($dbh); //close the database connection
?>
レコードの削除
次に、データベースからレコードを削除する例を見てみましょう。 ヴィーナスが私たちに対して接近禁止命令を出しており、私たちは彼女の連絡先情報を私たちのアカウントから削除しなければならないと仮定しましょう。 データベース.
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server
if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysqli_error());
//if selection failes output error message $id = 4;
//Venus's ID in the database
$sql_stmt = "DELETE FROM `my_contacts` WHERE `id` = $id";
//SQL Delete query
$result = mysqli_query($dbh,$sql_stmt);
//execute SQL statement
if (!$result)
die("Deleting record failed: " . mysqli_error());
//output error message if query execution failed
echo "ID number $id has been successfully deleted";
mysqli_close($dbh); //close the database connection
?>
PHP データ アクセス オブジェクト PDO
PDO は、次のようなさまざまなデータベース エンジンを操作できるようにするクラスです。 MySQL、PostGres、MS SQL Serverなど。
以下のコードは、PDO オブジェクトを使用したデータベース アクセス方法を示しています。
注意: 以下のコードは、SQL 言語、配列、例外処理、foreach ループの知識を前提としています。
<?php
try {
$pdo = new PDO("mysql:host=localhost;dbname=my_personal_contacts", 'root', 'melody');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec('SET NAMES "utf8"');
$sql_stmt = "SELECT * FROM `my_contacts`";
$result = $pdo->query($sql_stmt);
$result->setFetchMode(PDO::FETCH_ASSOC);
$data = array();
foreach ($result as $row) {
$data[] = $row;
}
print_r($data);
}
catch (PDOException $e) {
echo $e->getMessage();
}
?>
ここに、
- 「try{…catch…}」は例外処理ブロックです
- “$pdo = new PDO(“mysql…” は PDO オブジェクトのインスタンスを作成し、データベース ドライバー、サーバー名とデータベース名、ユーザー ID とパスワードを渡します。
- 「$pdo->setAtt…」は、PDO エラー モードと例外モードの属性を設定します。
- 「$pdo->exec('SET NA…」はエンコード形式を設定します
ODBC ODBC は Open Database Connectivity の略語です。基本的な構文は次のとおりです。
<?php $conn = odbc_connect($dsn, $user_name, $password); ?>
ここに、
- 「odbc_connect」はPHPの組み込み関数です
- 「$dsn」はODBCデータソース名です。
- 「$user_name」はオプションで、ODBC ユーザー名に使用されます。
- 「$password」はオプションです。ODBC パスワードに使用されます。
使用されている例は、あなたを想定しています。
- 使っている Windows OS
- Northwind への ODBC リンクが作成されました。 Microsoft Northwind という名前のデータベースにアクセスします
以下はODBCデータアクセスの実装コードです。
<?php
$dbh = odbc_connect('northwind', '', '');
if (!$dbh) {
exit("Connection Failed: " . $dbh);
}
$sql_stmt = "SELECT * FROM customers";
$result = odbc_exec($dbh, $sql_stmt);
if (!$result) {
exit("Error access records");
}
while (odbc_fetch_row($result)) {
$company_name = odbc_result($result, "CompanyName");
$contact_name = odbc_result($result, "ContactName");
echo "<b>Company Name (Contact Person):</b> $company_name ($contact_name) <br>";
}
odbc_close($dbh);
?>
製品概要
- MySQL ほとんどの Web ホスティング サーバーで利用できるオープン ソースのリレーショナル データベース管理です
- PHP には、作業を簡素化する豊富な組み込み関数のコレクションがあります。 MySQL
- PDO は PHP Data Object の頭字語です。 同じオブジェクトを使用して異なるデータベース エンジンに接続するために使用されます。
- PHP は odbc_connect 関数を使用して、ODBC 経由でデータベースを操作します。

