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

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

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

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

Q&A

0回答

473閲覧

DB更新の際のSQL失敗について

sunaga08

総合スコア0

PHP

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

0グッド

0クリップ

投稿2021/11/18 01:53

前提・実現したいこと

PHPで会員機能付きのサービスを作っています。
ユーザーのプロフィール編集機能作成の際、どうしてもDBが更新されずlogを確認したら以下の通りでした。

発生している問題・エラーメッセージ

[18-Nov-2021 01:34:04 UTC] デバッグ:POST送信があります。
[18-Nov-2021 01:34:04 UTC] デバッグ:POST情報:Array
(
[username] => ssss
[tel] => 08024761823
[zip] => 1540089
[addr] => 東京都大田区雑色1-17
[age] => 20
[email] => suna.sho08@gmail.com
[MAX_FILE_SIZE] => 3145728
)

[18-Nov-2021 01:34:04 UTC] デバッグ:FILE情報:Array
(
[pic] => Array
(
[name] =>
[type] =>
[tmp_name] =>
[error] => 4
[size] => 0
)

)

[18-Nov-2021 01:34:04 UTC] デバッグ:バリデーションOKです。
[18-Nov-2021 01:34:04 UTC] デバッグ:クエリに失敗しました。
[18-Nov-2021 01:34:04 UTC] デバッグ:失敗したSQL:PDOStatement Object
(
[queryString] => UPDATE users SET username = :u_name, tel = :tel, zip = :zip, addr = :addr, age = :age, email = :email, pic = :pic WHERE id = :u_id
)

[18-Nov-2021 01:34:04 UTC] デバッグ:画面表示処理終了 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

該当のソースコード

PHP

1try { 2 $dbh = dbConnect(); 3 $sql = 'UPDATE users SET username = :u_name, tel = :tel, zip = :zip, addr = :addr, age = :age, email = :email, pic = :pic WHERE id = :u_id'; 4 $data = array(':u_name' => $username , ':tel' => $tel, ':zip' => $zip, ':addr' => $addr, ':age' => $age, ':email' => $email, ':pic' => $pic, ':u_id' => $dbFormData['id']); 5 $stmt = queryPost($dbh, $sql, $data); 6 if($stmt){ 7 $_SESSION['msg_success'] = SUC02; 8 debug('マイページへ遷移します。'); 9 header("Location:mypage.php"); 10 } 11 12 } catch (Exception $e) { 13 error_log('エラー発生:' . $e->getMessage()); 14 $err_msg['common'] = MSG07; 15 } 16 } 17} 18debug('画面表示処理終了 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'); 19?>

試したこと

デバッグの該当箇所を見直しても、間違っている部分が見つかりません、、、

補足情報(FW/ツールのバージョンなど)

サーバーソフト MAMP6.3
データベースソフト PHPMyAdmin
OS MacOS BigSur

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

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

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

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

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

yambejp

2021/11/18 02:01

フレームワークはなにをつかっていますか?
sunaga08

2021/11/18 02:06

フレームワークに対する認識が曖昧なのですが、恐らく使わずに?コードを書いています。プログラミングを始めてから一ヶ月の初学者でして、わけのわからないことを言っていたら申し訳ありません。
yambejp

2021/11/18 02:38

生のPHPで処理しているならdbConnect()やqueryPost()はユーザー関数ですか?
sunaga08

2021/11/18 02:48

はい。ユーザー関数です。
yambejp

2021/11/18 03:28

ではそのへんの処理がまちがっているのでは? (質問には書かれていませんけど)
FKM

2021/11/18 07:42

$dbFormData['id']に値はきちんと入っていますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問