2017-12-19 10 views
0

codeigniterのform_validationのis_uniqueは同期されていますか? 2つの同時リクエストで電子メールがチェックされ、両方が偽になった場合、その値をデータベースに書き込むか、それともどのように同期されますか?あなたはそれが簡単なget_whereで見ることができるようにis_unique codeigniterは同期されていますか?

return $this->CI->db->limit(1)->get_where($table, array($field => $str))->num_rows() === 0 

:(列は次のようにユニークな設定されていない場合)

+1

このような競合状態が心配な場合は、トランザクションを使用してください。 – ceejayoz

答えて

0

これは(基本的に)is_unique機能です。 num_rowsが0の場合、値が一意であるため、この関数はtrueを返します。

あなたのウェブサイトには、リクエストが同時に発生するようなトラフィックが多くなることは非常に疑わしいです。でも、書くことができる機能は基本的にform_validationの実装と同じです。

クエリのタイプに応じて、取引の潜在的な問題を緩和することができます。残念なことに、CodeIgniterには、Laravelや他のより現代的なフレームワークが持つクールなロック機能はありません。

関連する問題