-4

クエリが中/大のテキストを挿入しないという、かなり厄介な問題があります。たとえば、データベースレコードをTester挿入/更新しようとすると機能しますが、4行のテキストを挿入/更新しようとすると、何もしません(エラーも発生しません)。本当に奇妙な部分は、2 つの 'lorem ipsum' 段落を処理することです。

私のクエリは次のようになります(挿入の場合):


$ncp_id = $defaults->query("INSERT INTO ".$table[0]." (p_id, p_title, p_date, p_desc) VALUES ('','".$_POST['p_title']."','".$_POST['p_date']."','".$_POST['p_desc']."')");
$defaults->query("INSERT INTO ".$table[2]." (ncp_id, ncp_client_id, ncp_project_id) VALUES ('','".$_POST['c_name']."','".$ncp_id."')");

私のデータベース フィールドはTEXTタイプです。

すべての投稿データは合法です。これらを印刷すると、挿入する必要があるテキストが表示されます

これ以上の情報やコードはありません。誰かが以前に同様の問題について聞いたことがあることを本当に望んでいます。

4

1 に答える 1

1

実際のミディアムテキストには、クエリを壊す特殊文字が含まれていると思います。

そのため、準備済みステートメントを使用する必要があります

クエリ文字列でデータを補間する代わりに。

また、query()実装についても、このようなスカラー値を返すことができるかどうかもわかりません。

また、DBAL と PHP を構成して、データベース エラーを PHP エラーに変換し、後者を利用できるようにする必要があります。それが最も重要な部分です。エラーメッセージがなければ何年も推測できますが、エラーメッセージがあればすぐに問題を知ることができます.

于 2013-05-21T12:57:20.463 に答える