皆様いつもお世話になっております。
実行環境は以下の通りです。
PHP:7.2.1
phpMyAdmin:4.7.7
MySQL:5.6.38
あらかじめ準備した値をbindParamでバインドして、mysqlにinsertしたいのですが、画面に何もエラーが表示されず(画面真っ白)、且つmysqlに何も登録されません。怪しい箇所を切り分けて検証していますが、自分では原因を見つけられませんでした。
php
1<?php 2 3/*SQLへのアクセスの設定*/ 4function accessSQL(){ 5 try{ 6 $user = "root"; 7 $pass = "root"; 8 $dbh =new PDO('mysql:localhost;dbname=test;charset=utf8', $user, $pass); 9 return $dbh; 10 }catch (Exception $e){ 11 echo $e->getMessage(); 12 } 13} 14 15 16 17/*u_numberの生成*/ 18function makeUNumber(){ 19 $prod_code = substr(str_shuffle("1234567890"), 0, 5); 20 $u_umber= "Z".$prod_code; 21 return $u_umber; 22} 23 24/*idの生成*/ 25function makeID(){ 26 $id = substr(str_shuffle("1234567890"), 0, 6); 27 return $id; 28} 29 30/*パスワードの暗号化*/ 31function encryptPassword($password){ 32 $key = 'iamgoingtoscarboroughfair'; 33 $password = openssl_encrypt($password, 'AES-128-ECB', $key); 34 return $password; 35} 36 37 38$u_number = makeUNumber(); 39$id = makeID(); 40$password = encryptPassword('kalon'); 41$image = 'Test';//テスト用 42 43// echo $u_number."<br>"; 44// echo $id."<br>"; 45// echo $password."<br>"; 46// echo $image."<br>"; 47 48try{ 49 $dbh = accessSQL(); 50 $stmt = $dbh -> prepare("INSERT INTO test(u_number, id, password, image) 51 VALUES (:u_number,:id,:password,:image)"); 52 $stmt->bindParam(':u_number',$u_number, PDO::PARAM_STR); 53 $stmt->bindParam(':id',$id, PDO::PARAM_STR); 54 $stmt->bindParam(':password',$password, PDO::PARAM_STR); 55 $stmt->bindParam(':image',$image, PDO::PARAM_LOB); 56 $stmt->execute(); 57 $dbh->commit(); 58 $stmt = NULL; 59}catch (Exception $e){ 60 $e->getMessage(); 61} 62
アドバイスとご教授のほどよろしくお願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/10 07:41
退会済みユーザー
2018/06/10 07:47
2018/06/10 08:00
退会済みユーザー
2018/06/10 08:03 編集
2018/06/10 08:07
2018/06/10 11:39