2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

記事投稿キャンペーン 「2024年!初アウトプットをしよう」

PHPでMySQLデータベースに接続

Last updated at Posted at 2024-01-01

PHPでMySQLデータベースに接続

プリペアードステートメントとは

実行したいSQLをあらかじめ用意して、可変となるパラメーターは後から渡す仕組み

  • プリペアードステートメントでパラメーターを可変にして名前で検索する場合
sample.php
<?php
// データベース接続情報
$username = 'xxxx_user';
$password = 'xxxx_pass';
$hostname = 'db';
$db = 'xxxx_db';

// データベース接続   PDOとはPHP Data Objectの略
$pdo = new PDO("mysql:host={$hostname};dbname={$db};charset=utf8", $username, $password);

//SQLとパラメーターの用意
$sql = "SELECT * FROM users WHERE name = :name";
$param = array(":name" => "山田")

// プリペアードステートメント
$stmt = $pdo->prepare($sql);
//SQL実行
//[SELECT * FROM users WHERE name = '山田']が実行される
$stmt->execute($param);

}
?>
  • ユーザー情報を全部取ってくる場合
sample.php
<?php
// データベース接続情報
$username = 'xxxx_user';
$password = 'xxxx_pass';
$hostname = 'db';
$db = 'xxxx_db';

// データベース接続   PDOとはPHP Data Objectの略
$pdo = new PDO("mysql:host={$hostname};dbname={$db};charset=utf8", $username, $password);

// ユーザー情報取得のSQLの実行
$sql = "SELECT * FROM users ORDER BY id";
$stmt = $pdo->prepare($sql);
$stmt->execute();

//SQL実行結果を処理(fetch 取得)
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    // 何かしら処理
    var_dump($row);
?>

PDO::FETCH_ASSOC とは

結果セットに 返された際のカラム名で添字を付けた配列を返します。
PDO::FETCH_ASSOC: Return next row as an array indexed by column name
Array

sample.php
(
    [name] => apple
    [colour] => red
)

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?