PHP在mysql中插入数组的每个元素,如果元素的字符串大于



有两个字段的输入表单

Value of one field is 11
The second field is blank.
Field names are `date_day[]`
下面是我的代码:
foreach ($_POST['date_day'] as $i => $date_day) {
$strlen = (strlen($date_day));
echo $strlen .' strlen<br>';
}

但是我得到了这个:

2 strlen
0 strlen

基于以上,我希望代码将只插入到mysql中字符串大于0的数组元素

下面是插入的代码:

if ( (strlen($date_day)) > 0 ) {
$sql .= implode(', ', $insertQuery) . 'ON DUPLICATE KEY UPDATE RecordDay = VALUES(RecordDay);';
$stmt = $db->prepare($sql);
$stmt->execute($insertData);
}

但是,如果其中一个字段的字符串长度大于0,而另一个字段的字符串长度为0,则代码插入两个字段(第二个字段为空)。

我只需要插入字符串长度大于0的字段。如果为0,则不插入....错误在哪里(代码中需要更改什么)?

更改此代码

if ( (strlen($date_day)) > 0 ) {
$sql .= implode(', ', $insertQuery) . 'ON DUPLICATE KEY UPDATE RecordDay = VALUES(RecordDay);';
$stmt = $db->prepare($sql);
$stmt->execute($insertData);
}

if ( (strlen(trim($date_day))) > 0 ) {
$sql .= implode(', ', $insertQuery) . 'ON DUPLICATE KEY UPDATE RecordDay = VALUES(RecordDay);';
$stmt = $db->prepare($sql);
$stmt->execute($insertData);
}

相关内容

最新更新