0

表にWebページ(テキスト形式)を挿入したい

クエリを実行すると、間違いが発生します。しかし、Webページを(文字列で)削除すると機能します。変数は $comment です。メッセージの行はテキストです (varchar(255) ではありません)

$query_insert = "INSERT INTO [".$project."_spec].[IsMessage] (project, message, note) VALUES('".$project."', '".$comment."', '".$note."')";
       mssql_query($query_insert) or die(mssql_get_last_message() . "[ " . $query_insert . " ]");

HTMLをテキストに変換する方法はありますか?

ありがとう

4

1 に答える 1

0

ランダムな内容の変数をクエリに挿入することで、SQL コードを動的に構築しています。

$query_insert = "INSERT INTO ... VALUES('".$project."', '".$comment."', '".$note."')";
                                           ^^^^^^^^        ^^^^^^^^        ^^^^^

こうすれば、誤って無効なクエリを作成するまで、それほど時間はかかりません。

$project = "Foo";
$comment = "It isn't ready yet";
$note = "See John's notes";
$query_insert = "INSERT INTO ... VALUES('".$project."', '".$comment."', '".$note."')";
var_dump($query_insert);
// string(71) "INSERT INTO ... VALUES('Foo', 'It isn't ready yet', 'See John's notes')"
                                             ^      ^
                                Start string |      | End string... oops

私は従来の MSSQL 拡張機能を使用していないため、これを修正する方法がわかりません (明らかに、修正できません!) が、カスタム関数を提案するユーザー コメントがあります。呼び出しをドロップする必要がありstripslashes()ますが、残りは正しいように見えます (実際にテストしていなくても)。

たまたま Windows を使用していて、変更するのにまだ手遅れでない場合は、新しいSQLSRVの方が優れた機能セットを提供します。

于 2013-02-05T16:09:34.110 に答える