質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
PHP

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

Q&A

解決済

3回答

7416閲覧

MySQLの設定ミス?

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

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

0グッド

0クリップ

投稿2017/05/25 08:42

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'shop.mst_product' doesn't exist
というエラーが返ってきます。

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ろくまる農園</title> </head> <body> <?php try{ $pro_name = $_POST['name']; $pro_price = $_POST['price']; $pro_name = htmlspecialchars($pro_name, ENT_QUOTES, 'UTF-8'); $pro_price = htmlspecialchars($pro_price, ENT_QUOTES, 'UTF-8'); $dsn = 'mysql:dbname=shop;host=localhost;charset=utf8'; $user = 'root'; $password= ''; $dbh = new PDO($dsn,$user,$password); $dbh -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql = 'INSERT INTO mst_product(name,price) VALUES(?,?)'; $stmt = $dbh->prepare($sql); $data[] = $pro_name; $data[] = $pro_price; $stmt->execute($data); $dbh = null; print $pro_name; print 'を追加しました。<br />'; } catch (PDOException $e){ print 'ただいま障害発生中です。ご迷惑おかけします。'; echo $e->getMessage(); exit(); } ?> <a href="pro_list.php">戻る</a> </body> </html>

上記のような場合、SQLへのデータ追加失敗でエラーが出てるということで
いいのでしょうか。
その場合どうすればいいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

shopデータベースにmst_productテーブルが存在しないっていうエラーですね
データベース名かテーブル名を間違えていませんか?

投稿2017/05/25 08:48

yambejp

総合スコア114747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

まず、エラーメッセージですが…

Base table or view not found Table 'shop.mst_product' doesn't exist

という事で、shop.mst_productテーブルが見つかりません、といわれています。
なので、Insertする先のテーブルが無い、という事なんでしょうね。

よって、するべきことはshop.mst_productがCreateされているか、または綴りが誤っていないかを確認する事だと思いますよ。

投稿2017/05/25 08:49

motuo

総合スコア3027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/05/25 09:11

PHP My Adminで確認したところ、テーブルは作ってあります。 ですが 返り値が空でした (行数 0)。 (Query took 0.0008 seconds.) とでています。 書籍の通りに設定したはずなのに動かないです・・・
motuo

2017/05/25 09:23

それはただ単にデータが無い、という事でしょうね。 テーブル名は間違いなく、mst_productでしょうか?一字一字、確認してみては如何でしょうか? 何らかの誤りがあると思いますが… または、localhostで動かしていないことはありませんか?
guest

0

お二人の言葉を元に、phpの記述と、mst_productの位置を見直しました。
mst_productを追加するツリーの位置を間違えていたようです。
助言ありがとうございました!

投稿2017/05/25 09:49

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問