【发布时间】:2012-01-31 14:32:27
【问题描述】:
我有以下代码将多条记录插入 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,我不希望插入该记录。我试图在for 中添加一个if 语句,检查if '{$data['percentOwner'][$i]}' !== 0 但无法让它工作。任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
你试过
if (intval($data['percentOwner'][$i]) !==0)吗?看起来您将获得一个字符串值,而这将使!==与整数 0 的严格比较失败。 -
您尝试了哪些方法,但没有成功?
-
@Michael - 我刚刚尝试了你的建议,但是当 percent_owner = 0 时它仍在输入记录。有没有办法用 sql 语句做到这一点?
-
@Progger 请参阅下面的答案,了解应该如何正常工作。