PHP,MYSQLについて質問です。


現在DBのデータを自分が作成したHTMLの型に埋め込み、それをまたDBへ保存するという作業をしています。

まず初めに

$sql=mysql_query("SELECT * FROM TEST ") で選択して

その後

while ($row = mysql_fetch_array($sql, MYSQL_ASSOC)) {

$html="

<html>
<body>

名前:"$row["namae"]" ."メッセージ".$row["sonota"]."

</body>
</html>
";



}

の様にデータをひとつひとつ埋め込んでいこうと考えています。

ここまでは出来たのですが、この後出来た$htmlをDBの指定した場所へ保存しようとすると

Parse error が発生してしまいます。

作成した命令ですが

mysql_query("UPDATE TEST SET HTML='".$html."' WHERE KANRI_NO='"$row["KANRI_NO"]"' ");

です。

$htmlのすぐ次に埋め込みました。(最後の }の前)

これは

while ($row = mysql_fetch_array($sql, MYSQL_ASSOC)) {}

この構文の中にmysql_query();を使ってはいけないということなのでしょうか?

もしそうだとしたらどの様な対処方法があるでしょうか?

お手数をおかけしますがわかるかたおりましたらよろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/08/01 18:16:47
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント100pt

そりゃあエスケープもせずにそのまま突っ込んだらエラーになるだろ。

$html = mysql_real_escape_string( $html );
mysql_query("UPDATE TEST SET HTML='".$html."' WHERE KANRI_NO='"$row["KANRI_NO"]"' ");

PHP: mysql_real_escape_string - Manual

id:aiomock

ご回答ありがとうございます。

2009/08/01 15:09:43

その他の回答1件)

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440ここでベストアンサー

ポイント100pt

そりゃあエスケープもせずにそのまま突っ込んだらエラーになるだろ。

$html = mysql_real_escape_string( $html );
mysql_query("UPDATE TEST SET HTML='".$html."' WHERE KANRI_NO='"$row["KANRI_NO"]"' ");

PHP: mysql_real_escape_string - Manual

id:aiomock

ご回答ありがとうございます。

2009/08/01 15:09:43
id:kn1967a No.2

回答回数356ベストアンサー獲得回数7

ポイント35pt

> 今までこのようなバグは起こったことがなく、

http://q.hatena.ne.jp/1248699066


とても複雑なSQL文を扱うのが得意な人間が、こんな初歩的ミスを犯すとは思えない。

質問の、本来の意図は何か?

id:aiomock

ご回答ありがとうございます。

2009/08/01 17:51:53

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません