これまでコードでTry-catchを使用したことはありませんが、今は使用する必要があり、その動作を完全に理解していないようです。explodeを使用して取得した文字列にデータがあります。
$groupNumbers = array();
$str = $dataGroups['groups'];
$groupNumbers = explode(",", $str);
$count = count($groupNumbers);
次に、すべての要素が数値であるかどうかを確認し、数値である場合はデータベースクエリを続行します。そうでない場合は、アクションを中止してエラーを返します。
これが私がしていることです:
for ($i = 0; $i < $count; ++$i)
{
try
{
is_numeric($groupNumbers[$i]);
}
catch (Exception $ex)
{
process_exception_to_json($ex);
}
}
evrery要素が数値の場合、SQLを実行するアクティブレコードを作成します。
$ this-> db-> insert_batch('users_groups'、$ datas);
明らかにそのように書かれているので、要素が数値でなくても、アクションは中止されず、insert_batchは、回避したい無効な値で実行されます。これを行う正確な方法は何ですか。例外を取得し、同時にアクションを中止できます。ありがとう
レロン