ホームページ >バックエンド開発 >PHPチュートリアル >TPバインド変数の数がトークンの数と一致しません
PHPバージョン: PHP 5.4.16
ThinkPHP バージョン: 3.2.3
コードに直接移動します:
リーリー$sql = $ReportLost->fetchSql(true)->add($data);
リーリー次回の実行$result = $ReportLost->add($data);
はエラーを報告します:
ただし、$sql
の
を挿入することができます。
データテーブル構造
リーリー実際、テーブルには $data よりも多くのフィールドがありますが、$data 内の未定義のフィールドは NULL になる可能性があります。
これは thinkphp の制限ですか?それともphpの制限なのでしょうか?解決策はありますか? まず、mysql で必要なすべてのフィールドを $data で定義する必要がありますか?
PHPバージョン: PHP 5.4.16
ThinkPHP バージョン: 3.2.3
コードに直接移動します:
リーリー$sql = $ReportLost->fetchSql(true)->add($data);
リーリー次回の実行$result = $ReportLost->add($data);
はエラーを報告します:
ただし、$sql
の
を挿入することができます。
データテーブル構造
リーリー実際、テーブルには $data よりも多くのフィールドがありますが、$data 内の未定義のフィールドは NULL になる可能性があります。
これは thinkphp の制限ですか?それともphpの制限なのでしょうか?解決策はありますか? まず、mysql で必要なすべてのフィールドを $data で定義する必要がありますか?
この問題は非常に奇妙です。MySQL のバージョンを教えてください。それとも他に隠れた問題があるのでしょうか?
より詳細なランタイム/ログレポートを提供しますか?
TP3.2 バージョンのモデルsave()
メソッドはすでにフィールドの自動フィルタリングをサポートしているため、TP の制限にはならず、保存する前にすべてのフィールドを定義する必要はありません。少なくとも、私は例外なくプロジェクト内で直接 save() メソッドを使用します。