PHPでMySQL付近の勉強をしようと思いました。PDOクラスを使おうと思い,コードを書いてみたのですが,うまくいかない部分があり,詰まってしまいました。
php
1<?php 2try{ 3 $db = new PDO('mysql:dbname = mydb; host = 127.0.0.1; charset = utf8', '△△△', '〇〇〇'); 4}catch(PDOException $e){ 5 echo "DB接続エラー:". $e->getMessage(); 6} 7 8 $count = $db->exec('INSERT INTO my_items SET maker_id=1, item_name="もも", price=210, keyword="缶詰,ピンク,甘い", sales=0'); 9 echo $count . '件のデータを挿入しました。'; 10?>
出力結果は
件のデータを挿入しました。
で,countの値が表示されません。本来なら入力したSQL文の数ぶん(今回は1)が返ると思うのですが,何も表示されないのです。
いろいろ調べてはみたのですが,PHPのverが7以上であればphp.iniをいじらなくてもPDOは使えますし,コードの間違いも特に見当たらなくどうしたものかと悩んでおります。
ご助言いただけると幸いです。
【追記】
下記のようにコードを修正しても現状は変わらずです。
php
1<?php 2try{ 3 $db = new PDO('mysql:dbname = mydb; host = 127.0.0.1; charset = utf8', '△△', '〇〇'); 4 $count = $db -> prepare('INSERT INTO my_items SET maker_id=1, item_name="モモ", price=210, keyword="缶詰,ピンク,甘い", sales=0'); 5 $count -> execute(); 6}catch(PDOException $e){ 7 echo "DB接続エラー:". $e->getMessage(); 8} 9?>
・host=localhostにしても何も変わらず。
・phpを実行している手順は上記のコードを
C:\xampp/\htdocs/memo下におき,検索エンジン(chrome)で
http://localhost/memo/index.phpと入力しています。
・php 7.2.11,phpMyAdmin 4.8.3,Apache 2.4.35をWindows10 64bitで使用しています。
・エディタはVSコードを使用しています。
・DBに入力したcreate分は
SQL
1INSERT INTO my_items SET maker_id=1, item_name="リンゴ", price=210, keyword="缶詰,ピンク,甘い", sales=0
です。これはDB上で実行するとDB上にデータが追加されます。
以上でございます。何卒よろしくお願いします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/20 09:56
2018/10/20 10:49
2018/10/20 11:01