$dbname = 'test'; $host = 'localhost'; $user = 'root'; $password = ''; $dns = 'mysql:dbname='.$dbname.';host='.$host.';charset=utf8'; try { $dbh = new PDO($dns, $user, $password, array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION) ); if ($dbh == null) { print_r('接続失敗').PHP_EOL; } else { print_r('接続成功').PHP_EOL; } } catch(PDOException $e) { echo('Connection failed:'.$e->getMessage()); die(); }
// SELECT文を変数に格納 $sql = "SELECT * FROM sample"; // SQLステートメントを実行し、結果を変数に格納 $stmt = $dbh->query($sql); // foreach文で配列の中身を一行ずつ出力 foreach ($stmt as $row) { // データベースのフィールド名で出力 echo $row['email'].':'.$row['password']; }
//email:ccc@cccのパスワードの値をaaaaに更新 $sql = "UPDATE sample SET password = :password WHERE email = 'ccc@ccc'"; // 更新する値と該当のIDは空のまま、SQL実行の準備をする $stmt = $dbh->prepare($sql); // 更新する値と該当のIDを配列に格納する $params = array(':password' => 'aaaa'); // 更新する値と該当のIDが入った変数をexecuteにセットしてSQLを実行 $stmt->execute($params);
// INSERT文を変数に格納 $sql = "INSERT INTO sample (email, password, created) VALUES (:email, :password, now())"; // 挿入する値は空のまま、SQL実行の準備をする $stmt = $dbh->prepare($sql); // 挿入する値を配列に格納する $params = array(':email' => 'eee@eee', ':password' => 'eeee'); // 挿入する値が入った変数をexecuteにセットしてSQLを実行 $stmt->execute($params);