- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MYSQLにデータが送信されない)
MYSQLにデータが送信されない
このQ&Aのポイント
- MYSQLへのデータ送信がうまく行かない問題について
- 現在、トップページにある画像のURLをcheck.phpに送信し、DB内のimg_urlと照合して、照合されたイメージにポイントを追加するプログラムを組もうとしていますが、うまくいきません。
- index.phpとcheck.phpのソースコードを記載しましたが、データが正しく送信されていないようです。解決策を教えていただきたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>echo '<a href="./check.php?url='.$image.'"><img src="'.$image.'" alt=""></a>'; URLに書く文字列はurlencodeする習慣を echo '<a href="./check.php?url=' . urlencode($image) . '"><img src="'.$image.'" alt=""></a>'; >$url = htmlspecialchars($_GET['url']); htmlspecialcharsしている意図がわかりません(ブラウザに返すhtmlソースではないので、意味がない)。 >mysql_query('UPDATE image SET point=point+1 WHERE img_url = "$url"')or die(mysql_error()); mysql_queryの引数は単引用符で括っていますから、変数名はparseされません(変数名を括っている二重引用符は「phpスクリプトとして」リテラルを括っているのではない)。またエスケープは必ず行ってください(セキュリティ上の大穴になります)。 $sql = sprintf("update image set point=point+1 where img_url='%s'", mysql_real_escape_string($url));
お礼
本当にありがとうございます! おかげで2日悩んだ問題が解決しました。 いつか自分のような初心者の方々に、shimixさんのようにアドバイスをできるよう努力します! ありがうございました。