Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.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/2/jquery/78.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 foreach echo打印“;符号”;作为价值_Php_Jquery_Mysqli - Fatal编程技术网

PHP foreach echo打印“;符号”;作为价值

PHP foreach echo打印“;符号”;作为价值,php,jquery,mysqli,Php,Jquery,Mysqli,我通过Ajax使用下拉菜单从MySQL动态获取数据,这很成功,但当我回显数组值时,它没有给我电子邮件列表,而是显示符号 请看下图: 从电子邮件列表中,这些是被呼出的符号 这是我的php代码 if(isset($_POST["confirm_no"])){ $d = $_POST['confirm_no']; $query = mysqli_query($mysqli, "select * from jobseeker WHERE confirm_no LIKE '$d%'"

我通过Ajax使用下拉菜单从MySQL动态获取数据,这很成功,但当我回显数组值时,它没有给我电子邮件列表,而是显示符号

请看下图:

从电子邮件列表中,这些是被呼出的符号

这是我的php代码

if(isset($_POST["confirm_no"])){

    $d = $_POST['confirm_no'];
    $query = mysqli_query($mysqli, "select * from jobseeker WHERE confirm_no LIKE  '$d%'");

    //Display  list
    if(mysqli_num_rows($query) > 0){
          $row = mysqli_fetch_array($query);
            foreach ($row as $r) {
            $emailArr[] = $r["mails"];
        }
         $emails = implode(";", $emailArr);

        echo $emails;

    }else{
        echo 'No email for this selection.';
    }
}
还有jQuery

$(document).ready(function(){ 

$('#smode').change(function(){
var confirm_no = $(this).val();
$.ajax({
   type:'POST',
  data:"confirm_no="+confirm_no,
   url:'get_email.php',
   success:function(data){
       $('#emaillist').val(data);
   } 

});
});
});

为什么它会回显这些符号?

如果数据提取不正确,只提取一行(调用
mysqli\u fetch\u array()

可以更好地写为

while( $row = mysqli_fetch_assoc($query)) {
    $emailArr[] = $row["mails"];
}
或者

将代码重新编译为:

//Display  list
if(mysqli_num_rows($query) > 0){
    // You have many results - fetch them all iteratively
    // use `fetch_assoc` to have ability to use `mails`
    while ($row = mysqli_fetch_assoc($query)) {
        $emailArr[] = $row["mails"];
    }
    $emails = implode(";", $emailArr);

    echo $emails;
}else{
    echo 'No email for this selection.';
}

mysqli\u fetch\u数组
获取0索引数组,不关联。感谢大家的帮助。
$emailArr = mysqli_fetch_all($query, MYSQLI_ASSOC);
$emailArr = array_column($emailArr, "mails");
//Display  list
if(mysqli_num_rows($query) > 0){
    // You have many results - fetch them all iteratively
    // use `fetch_assoc` to have ability to use `mails`
    while ($row = mysqli_fetch_assoc($query)) {
        $emailArr[] = $row["mails"];
    }
    $emails = implode(";", $emailArr);

    echo $emails;
}else{
    echo 'No email for this selection.';
}