ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp と php-preg_replace、チェーン クエリの使用に関する問題

thinkphp と php-preg_replace、チェーン クエリの使用に関する問題

WBOY
WBOYオリジナル
2016-08-08 09:21:001107ブラウズ

この記事では、thinkphp の使用時に発生する問題について説明します。

1. チェーン クエリについて $post_db = D('Post') $total = $post_db

;

$合計=

$

合計->where($where1); $list=$total->order($order)->limit($limit)- >select()

;

$count=$total-> ;count();この時点で、$count の値は見つかった数量ではなく、合計金額であることがわかりました。そして式

$total=$

total ->where($where1); は

$

total->where($where1)

; と同じ効果があります。合計数をクエリする必要がある場合、これは thinkphp の非常に非人道的な関数です: preg_replace()

要件: テキスト内の特定の値を変更したい。 preg_replace() を通して

最初の使用法は次のとおりです: (SQL をバックアップするときに、自動インクリメントの開始値を変更します。なぜそのような必要があるのでしょうか?これには、ログ ファイルのバックアップと、バックアップ時のバッチでのバックアップが含まれます)この時点で、ログが増加しているため、自動インクリメント値が不一致になり、データの復元時に問題が発生します) Preg_replace('/AUTO_INCREMENT=(d+)/', 'AUTO_INCREMENT=' ."$1" + 2, $sql); AUTO_INCREMENT= 2 に置き換えられることが分かりました。 そして、$ 1 は認識されず、 'auto_increment =' を使用すると単独で識別できます。変数の使用に問題がある可能性があります。具体的な理由は確認しませんでした。私の解決策は次のとおりです。 ){ place('/AUTO_INCREMENT=(d+)/', 'AUTO_INCREMENT= '.$auto_int_start, ;つまり、事前に計算してから、具体的な理由を後で見てみましょう。原理を知っている生徒がいたら、メッセージを残して「3Q!」と教えてください。 著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

上記は、thinkphp と php を使用する際の問題点 - preg_replace、chain query の内容を含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

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