ホームページ >バックエンド開発 >PHPチュートリアル >助けてください! php mysql insert 長い文字列を挿入できません。
ステートメントは次のようになります:
$sql = "INSERT INTO `{$table->column_list_page}` set nID='{$_REQUEST['NodeID']}',Title='{$_REQUEST['Title'] } ',著者='{$_REQUEST['著者']}',Content='{$_REQUEST['Content']}',Note='{$_REQUEST['Note']}',editor='{$ _SESSION ['adminUserInfo']['aUserID']}',time='".time()."'";
$db->query($sql);}
いくつか挿入しても問題ありません10 ページを超える文字を挿入する場合、Word からコピーすることはできません。 MSYQL は問題なく動作します
1. $_REQUEST データを直接使用すると、特殊文字がエスケープされないため、挿入が失敗する可能性があります。そのため、上限は 64k です。 。テキストが多すぎると制限を超える可能性があります
1. $_REQUEST データを直接使用する場合、特殊文字がエスケープされないため、挿入が失敗する可能性があります
2. テキスト タイプのフィールドを使用している可能性があるため、上限は 64k です。テキストが多すぎると制限を超える可能性があります
PHP 初心者が助けを求めています。
分析用のエラー情報を投稿する
分析用のエラー情報を投稿する
echo mysql_error();
私は asp.net に携わっていますが、今回は PHP に触れたことはありません。アヒルを捕まえるには、過去に他の人が構築したシステムにこの問題があり、それを解決するように依頼されました。
主なことは、Word のテーブルを fckeditor に投稿し、それをデータベースに保存することです。小さな問題はありませんが、大きな問題が発生します。
冗談は怖くないですが、echo mysql_error(); の使い方がわかりません
使い方を教えてください。
echo mysql_error(); // エラー メッセージを投稿します
プログラムはサーバー上にあります。明日追加してアドバイスを求めます
mysql に挿入されたデータphp から、最後の簡単な脱出。
$str = isset($_REQUEST['str']) ?addslashes($_REQUEST['str']):'';
php から mysql に挿入されたデータはすべてエスケープするのが最適です。
$str = isset($_REQUEST['str']) ?addslashes($_REQUEST['str']):'';
以上です、PHP.INI で magic_quotes_g=Off を設定し、それを On に変更します。以上です。
情報を確認して次のことを確認してください:
addedlashes(string) パラメータの説明
文字列が必要です。チェックする文字列を指定します。
ヒント: この関数は、データベースに保存されている文字列やデータベース クエリ ステートメントに適した文字列を準備するために使用できます。
注: デフォルトでは、PHP ディレクティブ magic_quotes_gpc がオンになっており、すべての GET、POST、COOKIE データに対して addslashes() が自動的に実行されます。二重エスケープになるため、magic_quotes_gpc によってエスケープされた文字列に対して addslashes() を使用しないでください。この状況が発生した場合は、関数 get_magic_quotes_gpc() を使用して検出できます。
投稿してポイントを付与します。