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

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

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

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

Q&A

解決済

2回答

1106閲覧

dbへ更新処理

shaobao

総合スコア33

PHP

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

0グッド

0クリップ

投稿2016/07/26 04:55

こんにちは。

フォームを作成しているところです。

編集画面から、編集したデータをDBへupdate処理を行います。
更新できなかった。
SQL文をvardumpしてみたら、titleとtxtに変更した値がセットされていなかった。
理由が分からないので、どなた様が分かれば教えてお願いいたします。

ソースは、下記のとおりです。

<?php include "session.php"; if($_SESSION["ID"]): //現在の情報を取得 if($_GET["gid"]): $nowID = $_GET["gid"]; else: $nowID = $_SESSION["usr"]["id"]; endif; if($_POST && $_GET['alb']): $db->tbl_name = "core"; $table = $db->tbl_name; if(isset($_POST["title"]) || isset($_POST["txt"]) || isset($_POST["rank"])): $infoUpdate = ""; $infoUpdate .= "update " . db_name . "." . $table . ""; $infoUpdate .= " set"; $infoUpdate .= " title = ".$_POST["title"]; $infoUpdate .= ","; $infoUpdate .= " txt =".$_POST["txt"]; $infoUpdate .= ","; $infoUpdate .= " rank =".$_POST["rank"]; $infoUpdate .= " where"; $infoUpdate .= " id =".$_GET["alb"]; var_dump($infoUpdate); $db->query($infoUpdate); endif; endif; else: $err = "ログインが必要です"; endif; ?>

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

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

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

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

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

asahina_dev

2016/07/26 05:10

送信側のソースと受信側のソース両方あって結論がでる内容ですが基本的に _POST と _GET は共存しません。 送信側のソースも提示してください
guest

回答2

0

自己解決

こんにちは、
この問題に関しては、解決致しました。

結局、SQL文が不十分と送信側のname属性の名前が異なりました。

この度、ご回答ありがとうございました。

投稿2016/07/26 06:26

shaobao

総合スコア33

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

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

0

たとえば

$infoUpdate .= " title = ".$_POST["title"];

$infoUpdate .= " title = '".$_POST["title"]."'";
としないとSQL文中で文字列が渡せていない
インジェクション対策はprepare処理などで対応してください

投稿2016/07/26 05:43

yambejp

総合スコア114572

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

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

shaobao

2016/07/26 06:12

yambejpさん この度、ご回答頂き誠にありがとうございます。 ご指摘の点に関しては、これから気を付けます。 ありがとうございました。 また、今それを修正し、送信側フォームのname属性が異なったため、それを修正し、SQL文に値が入ったですが、DBへ更新されない。 たびたび、すみません。 分かれば宜しくお願いいたします。
shaobao

2016/07/26 06:24

yambejpさん こんにちは、 この問題解決いたしました。 ありがとうございました。 結局、SQL文がおかしかった。最後「;」が付いていなかった。 ご指摘の部分を大変ありがとうございました。
退会済みユーザー

退会済みユーザー

2016/07/26 06:28

?alb=id をつけてアクセスしたら… 一括更新!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問