thinkphp データベース挿入操作エラー
thinkphp MySQL データベース
thinkphp は Excel からデータを読み取り、それを mysql に挿入します。生成された SQL ステートメントは正しく、実行時には$model->execute($sql) を使用します。各文字列が挿入されます。生成された SQL ステートメントは、insert into table names('','ABCDEF') のようなものです。完全なリストは示されていませんが、thinkphp で単独で実行すると、挿入は成功します。文字列ABCDEF。 tp で最後に実行された SQL ステートメントを出力するのも正しいです
ディスカッション (解決策) への返信
直接実行しても同じ結果が得られますか? 最初はデータベースのフィールドの型と長さの制限だと思いました。直接実行した場合も同じです。次に、TP の最後の mysql_query をトレースし、mysql_query の前に $sql をチェックする必要があります
直接実行しても同じ結果が得られますか? 最初はデータベースのフィールドのタイプと長さの制限だと思いました。直接実行の場合も同様の場合は、TP をトレースする必要があります。最後に、mysql_query の前の $sql がローカル検査です。詳しく教えていただけますか。ありがとうございます
直接実行しても同じ結果が得られますか? 最初はデータベースフィールドのタイプと長さの制限だと思っていましたが、直接実行で同じであれば、TP の最後の mysql_query をトレースして $sql を確認する必要があります。 mysql_query の前に
詳細を教えていただけますか?ありがとうございます
実際には、もっと詳しく説明する必要があります
解決できない「超自然的な問題」はありません、どこかに問題があるはずです
私の謙虚な意見では、TP の SQL ステートメントの処理に問題があるか、または mysql データ構造/型に問題があります。他の可能性は考えられません
そこで、まず SQL ステートメントを手動で作成し、mysql で直接実行してみてください。結果を見てください。挿入後の結果は何ですか?
手動挿入の結果が正しい場合は、TP フレームワーク内の SQL を出力します。この時点でステートメントを作成して、手書きの SQL ステートメントと一致しているかどうかを確認してください。
その後、詳しく見てみることができます。その理由をすぐに説明します
実際には、それを詳しく説明する必要があります
$res = $order_insert- >execute($sql);
echo $ order_insert->getLastSql();
executeを実行するときは、$sqlをコピーして個別に実行すると、目的の結果が得られます。実行が完了したら、$order_insert->getLastSql(); を使用して、最後に実行された SQL ステートメントを取得します。SQL 文字列を直接コピーして実行する場合も、データは正常に挿入されます。パラメータとして実行した場合、上記の状況が発生した場合
$res = $order_insert->execute($ sql);
echo $order_insert->getLastSql();
実行する場合は、$sql をコピーして個別に実行すると、目的の結果が得られます。実行が完了したら、$order_insert->getLastSql(); を使用して、最後に実行された SQL ステートメントを取得します。SQL 文字列を直接コピーして実行する場合も、データは正常に挿入されます。パラメータとして実行した場合、上記の状況が発生した場合
パラメータとして実行する場合の $order_insert->getLastSql() も見てみてはいかがでしょうか
私が見たのは、アセンブルされた SQL です。ステートメントは実行するパラメーターとして使用され、実行後に最後に実行された SQL ステートメントを取得し、完全な SQL ステートメントを出力します。 insert into table value('','ABCDEF'); ただし、文字 A が 1 つだけ挿入されます。文字 ABCDEF に対応するデータベース テーブル
これはデータベースのフィールドの問題でしょうか? mysql で SQL を直接実行した場合でも問題は発生しますか?
これはデータベースのフィールドの問題でしょうか? mysql で SQL を直接実行した場合でも問題は発生しますか?
フィールドの問題ではなく、直接挿入するのが正常です。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。
