PHP MySQL接続方法
作成日時:2019/05/05
更新日時:2019/05/05
スポンサーリンク
この記事の確認環境
phpversion() : 7.2.7
mysql_connect
https://www.php.net/manual/ja/function.mysql-connect.php
PHP 5.5.0 で非推奨、PHP 7.0.0 で削除された関数
mysqli
「オブジェクト指向型」と「手続き型」の2通り用意されています。
以下のサンプルは「オブジェクト指向型」
https://www.php.net/manual/ja/class.mysqli.php
クエリ結果取得関連
https://www.php.net/manual/ja/class.mysqli-result.php
https://www.php.net/manual/ja/mysqli-result.fetch-assoc.php
https://www.php.net/manual/ja/mysqli-result.free.php
文字セット関連
https://www.php.net/manual/ja/mysqli.set-charset.php
接続関連
https://www.php.net/manual/ja/mysqli.close.php
mysqli接続〜データ取得
<?php
define('DB_NAME', 'database_name');
define('DB_USER', 'database_user');
define('DB_PASSWORD', 'database_pass');
define('DB_HOST', 'database_host');
$mysqli = new mysqli( DB_HOST, DB_USER, DB_PASSWORD, DB_NAME );
if ( $mysqli->connect_error ) {
echo '<pre>' . $mysqli->connect_error . '</pre>';
} else {
$mysqli->set_charset( "utf8" );
$sql = "SELECT * FROM table_name";
if ( $result = $mysqli->query( $sql ) ) {
echo '<table>';
while ( $row = $result->fetch_assoc() ) {
echo '<tr>';
echo '<td>' . $row["id"] . '</td>';
echo '<td>' . $row["name"] . '</td>';
echo '</tr>';
}
echo '</table>';
$result->free();
}
$mysqli->close();
}
?>
https://www.php.net/manual/ja/mysqli.prepare.php
https://www.php.net/manual/ja/mysqli-stmt.error.php
https://www.php.net/manual/ja/mysqli-stmt.bind-param.php
$name = "Name";
$detail = "Detail";
if($stmt = $mysqli->prepare("INSERT INTO table_name ( name, detail ) VALUES ( ?, ? )"))
{
if($stmt->bind_param( "ss", $name, $detail ))
{
if(!$stmt->execute())
{
error_log('Error : ' . $stmt->error);
}
}
$stmt->close();
}