Php 如果元素的strlen大于
带有2个字段的输入表单Php 如果元素的strlen大于,php,mysql,arrays,Php,Mysql,Arrays,带有2个字段的输入表单 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>'; } 基于以上内容,我希望代码将只在mysql中插入str
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>';
}
基于以上内容,我希望代码将只在mysql中插入strlen大于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(isset($var_name))&&isset($var_name{1}){//u代码的其余部分}与isset一起执行(插入)如果没有输入值,那么执行(insert)hmm,If((strlen(trim($date_day))>0{是相同的行为。插入空值…好的,现在将条件检查更改为这个If($date_day!=“”)与$_POST['date day'[$i]相同,如果(!empty($date day))相同。插入空值
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);
}