PHP入門とサンプル


HOME > MySQL > リファレンス

MySQLi - 接続・抽出・登録・更新・削除 -

接続(mysqli_connect)

MySQL サーバーへの接続をオープンする

公式サイト:https://www.php.net/manual/ja/mysqli.construct.php

mysqli_connect(
?string $hostname = null,
?string $username = null,
?string $password = null,
?string $database = null,
?int $port = null,
?string $socket = null
): mysqli|false

外部ファイルにして読み込む場合

[db_connect.php]

<?php
$host = 'local';
$user = 'user_name';
$password = 'user_pass';
$dbname = 'db_name';
?>

[index.php]

include_once("./db_connect.php");
$db_link = mysqli_connect($host, $user, $password, $dbname);

エラー処理

直近の接続コールに関するエラーコードを返す

公式サイト:https://www.php.net/manual/ja/mysqli.connect-errno.php

mysqli_connect_errno(): int

if(!$db_link){
echo mysqli_connect_errno($db_link) . ' : ' . mysqli_connect_error($db_link);
}

エンコード

クライアントの文字セットを設定する

公式サイト:https://www.php.net/manual/ja/mysqli.set-charset.php

mysqli_set_charset(mysqli $mysql, string $charset): bool

mysqli_set_charset($db_link, 'utf8');

抽出(select)

$query = "select * from テーブル";
$result = mysqli_query($db_link, $query) or die ("データ抽出エラー");

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
echo {$row['name']};
}

抽出 idの昇順

//id を昇順で
$query = "select * from テーブル order by id";
$result = mysqli_query($db_link, $query) or die ("データ抽出エラー");

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
echo {$row['name']};
}

抽出 降順(DESC)

//id を降順で
$query = "select * from テーブル order by id DESC";
$result = mysqli_query($db_link, $query) or die ("データ抽出エラー");

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
echo {$row['name']};
}

抽出 件数指定(limit)

//id を昇順で5件
$query = "select * from テーブル order by id limit 5";
$result = mysqli_query($db_link, $query) or die ("データ抽出エラー");

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
echo {$row['name']};
}

登録(insert)

疑問符プレースホルダ

オブジェクト指向型

$db_link = new mysqli($host, $user, $password, $dbname);
$sql = "INSERT INTO テーブル (id,name) VALUES (?, ?)";
$stmt = $db_link->prepare($sql);

$stmt->bind_param('ss', $id,$name);
$stmt->execute();

手続き型

$db_link = mysqli_connect($host, $user, $password, $dbname);
$query = "INSERT INTO テーブル (id,name) VALUES (?,?)";
$stmt = mysqli_prepare($db_link,$query);

mysqli_stmt_bind_param($stmt,'ss', $id,$name);
mysqli_stmt_execute($stmt);

更新(update)

$query = "update テーブル set id = '$id',name = '$name',where id = '$get_id'";
$result = mysqli_query($db_link,$query);

削除(delete)

$query = "delete from テーブル where id='$id'";
$result = mysqli_query($db_link,$query);

結果セットを開放

結果に関連付けられたメモリを開放

公式サイト:https://www.php.net/manual/ja/mysqli-result.free.php

mysqli_free_result(mysqli_result $result): void

mysqli_free_result($result);

接続を閉じる(mysqli_close)

事前にオープンしているデータベース接続を閉じる

公式サイト:https://www.php.net/manual/ja/mysqli.close.php

mysqli_close(mysqli $mysql): true

mysqli_close($db_link);

最終更新日:2023/07/20

Copyright 2023 Appli Base All Rights Reserved.

Yes:271 Total:115756 Today:212