ホームページ >バックエンド開発 >PHPチュートリアル >助けてください! php mysql insert 長い文字列を挿入できません。

助けてください! php mysql insert 長い文字列を挿入できません。

WBOY
WBOYオリジナル
2016-06-23 14:26:361431ブラウズ

ステートメントは次のようになります:
$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 です。テキストが多すぎると制限を超える可能性があります


データベース フィールドは MEDIUMTEXT タイプを使用するため、上限を超えないようにしてください。

最初に $_REQUEST データを直接使用しないでください、またはそれをエスケープする方法について教えてください。

PHP 初心者が助けを求めています。


分析用のエラー情報を投稿する

echo mysql_error();


分析用のエラー情報を投稿する
echo mysql_error();
私は asp.net に携わっていますが、今回は PHP に触れたことはありません。アヒルを捕まえるには、過去に他の人が構築したシステムにこの問題があり、それを解決するように依頼されました。

主なことは、Word のテーブルを fckeditor に投稿し、それをデータベースに保存することです。小さな問題はありませんが、大きな問題が発生します。

冗談は怖くないですが、echo mysql_error(); の使い方がわかりません

使い方を教えてください。

$db->query($sql);

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() を使用して検出できます。

投稿してポイントを付与します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。