• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MYSQLにデータが送信されない)

MYSQLにデータが送信されない

このQ&Aのポイント
  • MYSQLへのデータ送信がうまく行かない問題について
  • 現在、トップページにある画像のURLをcheck.phpに送信し、DB内のimg_urlと照合して、照合されたイメージにポイントを追加するプログラムを組もうとしていますが、うまくいきません。
  • index.phpとcheck.phpのソースコードを記載しましたが、データが正しく送信されていないようです。解決策を教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.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));

turmeric8
質問者

お礼

本当にありがとうございます! おかげで2日悩んだ問題が解決しました。 いつか自分のような初心者の方々に、shimixさんのようにアドバイスをできるよう努力します! ありがうございました。

関連するQ&A