Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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&;MySQL-数组到字符串转换错误问题_Php_Mysql - Fatal编程技术网

PHP&;MySQL-数组到字符串转换错误问题

PHP&;MySQL-数组到字符串转换错误问题,php,mysql,Php,Mysql,在下面列出的这一行中,我不断收到一个关于数组到字符串转换错误的错误消息。我如何解决这个问题 $skill = explode('', $_POST['skill']); 下面是PHP&MySQL代码 $skill = explode('', $_POST['skill']); $experience = explode('', $_POST['experience']); $years = explode('', $_POST['years']); for ($s = 0; $s <

在下面列出的这一行中,我不断收到一个关于
数组到字符串转换错误
的错误消息。我如何解决这个问题

$skill = explode('', $_POST['skill']);
下面是PHP&MySQL代码

$skill = explode('', $_POST['skill']);
$experience = explode('', $_POST['experience']);
$years = explode('', $_POST['years']);

for ($s = 0; $s < count($skill); $s++){
    for ($x = 0; $x < count($experience); $x++){
        for ($g = 0; $g < count($years); $g++){

            if (mysqli_num_rows($dbc) == 0) {
                    $mysqli = mysqli_connect("localhost", "root", "", "sitename");
                    $dbc = mysqli_query($mysqli,"INSERT INTO learned_skills (user_id, skill, experience, years, date_created) 
                                                 VALUES ('" . $user_id . "', '" . $skill[$s] . "', '" . $experience[$x] . "', '" . $years[$g] . "', NOW())");
            }

            if ($dbc == TRUE) {
                    $dbc = mysqli_query($mysqli,"UPDATE learned_skills 
                                                 SET skill = '$skill', experience = '$experience', years = '$years', date_created = NOW()
                                                 WHERE user_id = '$user_id'");

                    echo '<p class="changes-saved">Your changes have been saved!</p>';
            }

            if (!$dbc) {
                    print mysqli_error($mysqli);
                    return;
            }

        }
    }
}
$skill=explode(“”,$_POST['skill']);
$experience=explode(“”,$_POST['experience']);
$years=爆炸(“”,$_POST['years');
对于($s=0;$s您的更改已保存!

”; } 如果(!$dbc){ 打印mysqli_错误($mysqli); 返回; } } } }
下面是HTML代码

<li><label for="skill">Skills: </label><input type="text" name="skill[]" id="skill[]" size="25" maxlength="255" />
<label for="experience">Experience: </label>
<?php

echo '<select id="experience[]" name="experience[]">' . "\n";
  foreach($experience_options as $option) {
    if ($option == $experience) {
      echo '<option value="' . stripslashes(htmlentities(strip_tags($option))) . '" selected="selected">' . stripslashes(htmlentities(strip_tags($option))) . '</option>' . "\n";
    } else {
      echo '<option value="'. stripslashes(htmlentities(strip_tags($option))) . '">' . stripslashes(htmlentities(strip_tags($option))) . '</option>'."\n";
    }
  }
echo '</select>';

?>
<label for="years">Years: </label>
<?php

echo '<select id="years[]" name="years[]">' . "\n";
  foreach($year_options as $option) {
    if ($option == $years) {
      echo '<option value="' . stripslashes(htmlentities(strip_tags($option))) . '" selected="selected">' . stripslashes(htmlentities(strip_tags($option))) . '</option>' . "\n";
    } else {
      echo '<option value="'. stripslashes(htmlentities(strip_tags($option))) . '">' . stripslashes(htmlentities(strip_tags($option))) . '</option>'."\n";
    }
  }
echo '</select></li>';
  • 技能: 经验: 年: 正如文档所指出的,如果分隔符为空,则始终返回FALSE。你想干什么。
    $\u POST['skill']
    是什么样子的?

    我想用英语说

    $skill = explode('', $_POST['skill']);
    
    $\u POST['skill']
    是一个数组
    explode()
    的第二个参数需要一个字符串,或者我认为它可以转换为字符串。如果您试图使用空字符串变量进行拆分,可能也会让您头疼

    我也知道这一点,因为输入字段的名称是
    skill[]

    PHP将把任何末尾带有
    []
    的名称转换为数组。您甚至可以在括号之间指定所需的键


    因此,您可能可以跳过该行,因为变量已经是数组了。如果不希望它是数组,请从name属性中删除
    []

    在此文本表单元素中:

    <label for="skill">Skills: </label>
    <input type="text" name="skill[]" id="skill[]" size="25" maxlength="255" />
    
    用户提供的技能是否应该用逗号分隔?如果是这样,也许这就是你想要的

    $skill = explode(',', $_POST['skill']);
    

    希望这有帮助

    你能发布一个显示
    skill
    元素的表单片段吗?
    $skill = explode('', $_POST['skill']);
    
    $skill = explode(',', $_POST['skill']);