Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果元素的strlen大于_Php_Mysql_Arrays - Fatal编程技术网

Php 如果元素的strlen大于

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

带有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中插入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);
}