我有以下代码在MySQL中插入多条记录:
foreach ($_POST AS $input => $value) {
if (stristr($input, 'percent_owner_')) {
$memberID = str_replace('percent_owner_', '', $input);
$data['memberID'][] = $memberID;
$data['percentOwner'][] = $value;
}
}
$total = array_sum($data['percentOwner']);
if ($total !=100) {
$error = "Must total 100%.";
include('./errors/shares_error.php');
} else {
$c = count($data['memberID']);
for ($i=0;$i<$c;$i++) {
$asset_ID = $_GET['asset_ID'];
$query = "INSERT INTO shares (asset_ID, member_ID, percent_owner)
VALUES ('$asset_ID', '{$data['memberID'][$i]}', '{$data['percentOwner'][$i]}')";
$add_shares = $db->exec($query);
}
}
如果'percent_owner'值为0,我不希望插入该记录。我试图在if
中添加for
语句,检查if '{$data['percentOwner'][$i]}' !== 0
但是无法使其发挥作用。任何帮助将不胜感激。
感谢。
答案 0 :(得分:0)
将值$data['percentOwner'][$i]
与整数转换后的0比较。它似乎是您生成上述值的方式的字符串:
for ($i=0;$i<$c;$i++) {
// Compare in if() against intval() of the value
if (intval($data['percentOwner'][$i]) !== 0) {
$asset_ID = $_GET['asset_ID'];
$query = "INSERT INTO shares (asset_ID, member_ID, percent_owner)
VALUES ('$asset_ID', '{$data['memberID'][$i]}', '{$data['percentOwner'][$i]}')";
$add_shares = $db->exec($query);
}
}