php - PHP foreach echo 将“符号”打印为值
问题描述
我通过 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_fetch_array()
$row = mysqli_fetch_array($query);
foreach ($row as $r) {
$emailArr[] = $r["mails"];
}
可以更好地写为
while( $row = mysqli_fetch_assoc($query)) {
$emailArr[] = $row["mails"];
}
或者...
$emailArr = mysqli_fetch_all($query, MYSQLI_ASSOC);
$emailArr = array_column($emailArr, "mails");
推荐阅读
- internet-explorer - 如何在 Internet Explorer 中加载 png 图像
- css - 如何根据屏幕大小调整网页大小?
- substrate - 将单位从 ALICE 转移到 BOB 询问密码
- docker - 为什么 docker 容器在启动时需要比运行时更多的 RAM?
- java - 连接多个集群spring kafka
- r - Lines() 命令只创建一个点
- sapui5 - 无法通过 table.bindRows 为 UI5 中的树表传递过滤器
- ios - Connection::dispatchIncomingMessages:在 iOS 中调用 evaluateJavascript 时触发了 IPC 限制
- python - 安装 pip 包 auto-py-to-exe 时出错
- python - 如何处理频谱图的缺失输入?