1

$p をデータベースに保存する際に問題が 1 つあります。$_POST["content"] を変更せずに保存すると、機能します。しかし、ストリップスラッシュで変更すると機能しません。理由がわかりません。

$_POST["content"] is text from function innerHTML
mysql_connect("XX","XX","XX");
mysql_select_db("XX");
$p=stripslashes($_POST["content"]);
mysql_query("UPDATE TEXTO SET VALOR='.$p.' WHERE id=2");
4

2 に答える 2

4

データベースを更新する前にスラッシュを削除したくないでしょう。実際にはその逆を行いたいでしょう。私がお勧めします

$p=mysql_real_escape_string($_POST["content"]);
于 2012-10-05T18:47:28.197 に答える
3

エラーの場所は次のとおりです。

mysql_query("UPDATE TEXTO SET VALOR='.$p.' WHERE id=2");

前後のピリオドは必要ありません$p。これは次のように実行できます。

mysql_query("UPDATE TEXTO SET VALOR='$p' WHERE id=2");

または:

mysql_query("UPDATE TEXTO SET VALOR='".$p."' WHERE id=2");

文字列を囲む二重引用符は、評価時に変数を補間します。

でも

mysql_*関数は廃止されているため、関数の使用をやめることを検討する必要があります。またはのいずれPDOmysqli_*を使用すると、より安全なコードを記述できます。

于 2012-10-05T18:46:17.990 に答える