質問編集履歴

1 初心者マーク

774no_gnb

774no_gnb score 6

2017/10/17 13:55  投稿

PDO実装、PHPでインサートしたデータがMysqlで確認できない
###前提・実現したいこと
PHP(CakePHP)でデータを追加し、Mysqlでデータが追加されたかの確認をする課題を行なっています。
###発生している問題・エラーメッセージ
```
インサートしたはずなのに下記のようにMysqlで表示されてしまう。
mysql> select * from users;
ERROR 1046 (3D000): No database selected
mysql>
```
###該当のソースコード
```
db_connect.php
// DB名
define('DB_DATABASE', 'blueBlog');
// MySQLのユーザー名
define('DB_USERNAME', 'root');
// MySQLのログインパスワード
define('DB_PASSWORD', 'root');
// DSN
define('PDO_DSN', 'mysql:host=localhost;charset=utf8;dbname='.DB_DATABASE);
/**
* DBの接続設定をしたPDOインスタンスを返却する
* @return object
*/
function db_connect() {
try {
// PDOインスタンスの作成
$pdo = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD);
// エラー処理方法の設定
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
} catch(PDOException $e) {
echo 'Error: ' . $e->getMessage();
die();
}
}
----------------------------------------
test.php
<?php
// 作成したdb_connect.phpを読み込む
require_once('db_connect.php');
// 実行したいSQL文を準備
// 今回はusersテーブルにレコードを追加
$sql = "INSERT INTO users (name, password) VALUES ('Taro Yamada', 'taro')";
// 関数db_connect()からPDOを取得する
$pdo = db_connect();
try {
$stmt = $pdo->prepare($sql);
$stmt->execute();
echo 'インサートしました。';
} catch (PDOException $e) {
echo 'Error: ' . $e->getMessage();
die();
}
※確認したところインサートしましたと表示される。
```
###試したこと
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
  • PHP

    38005 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • MySQL

    11811 questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • PDO

    600 questions

    PDO(PHP Data Objects)はPHPのデータベース抽象化レイヤーです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る