PHP+MySQL 接続・テーブル作成・クエリ実行
備忘録のために、メモしてます。
MySQLへの接続
mysqli_connect.php
$link = mysqli_connect($hostname , $username, $password, $databases);
if (!$link) {
echo '接続失敗です。';
return;
}
テーブル作成
create_table.php
$query = <<<EOT
CREATE TABLE users(
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
age INTEGER(255) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
)DEFAULT CHARACTER SET=utf8mb4;
EOT;
$result = mysqli_query($link, $query);
if($result){
echo 'テーブルを作成したよー'.PHP_EOL;
}else{
echo 'errer:' . mysqli_error($link) . PHP_EOL;
}
}
行の追加
createRow.php
$user = [
'name' => 'hoge',
'age' => 27
];
$sql = <<<EOL
INSERT INTO users(
name,
age
)VALUES(
"{$user['name']}",
"{$user['age']}"
)
EOL;
$result = mysqli_query($link, $sql);
if( !$result ){
error_log('Error: fail to create user');
error_log('error:'. mysqli_error($link));
}
mysqli_free_result($result);
mysqli_close($link);
データの取得
getTableData.php
$sql = "SELECT * FROM users";
$result = mysqli_query($link, $sql);
$users = [];
while( $row = mysqli_fetch_assoc($result)) {
$user = array(
'name' => $row['name'],
'age' => $row['age']
);
$users[] = $user;
}
mysqli_free_result($result);
mysqli_close($link);