「PHPからmysqliでデータベースに接続する」
PHPからmysqliでデータベースに接続するには
回答
以下のようなデータベースにテーブルがあるとします
CREATE DATABASE db_mytest DEFAULT CHARACTER SET utf8;
use db_mytest;
create table t_table(
id serial PRIMARY KEY,
name1 varchar(255),
name2 varchar(255)
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8;
ユーザーの作成と権限の設定
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON db_mytest.* TO 'username'@'localhost';
ソース
<?php
$mysqli = new mysqli(
"localhost", //ホスト名(接続サーバー)
"username", //ユーザー名
"password", //パスワード
"db_mytest" //DB名
);
if($mysqli->connect_error) {
echo $mysqli->connect_error;
exit();
}else{$mysqli->set_charset("utf8");}
//レコードの挿入
$stmt=$mysqli->prepare("insert into t_table(name1,name2) values(?,?)");
$name1="姓ほげ";
$name2="名ほげ";
$stmt->bind_param('ss',$name1,$name2);
$stmt->execute();
//SELECT文
$stmt=$mysqli->prepare("select id,name1,name2 from t_table where id = ?");
$id=1;
$stmt->bind_param('i',$id);
$stmt->execute();
$stmt->bind_result($id,$name1,$name2);
while($stmt->fetch()){
echo $id.":".$name1.",".$name2;
}