当我从PHP上的MySQL获取数据到数组中时出现白色屏幕

当我从PHP上的MySQL获取数据到数组中时出现白色屏幕,php,mysqli,Php,Mysqli,我将值从MySQL(PHPMyAdmin)获取到PHP,然后将它们发送到echo,以便在Ionic上获取这些值。我不知道为什么,但是当我在数组中添加一个特定的值(来自MySQL的Bio字段)并执行.php文件时,我看到了一个白色的屏幕 这是我的密码: json tecnico.php <?php require_once('connect.php'); $consulta = "SELECT idTecnico, nomb

我将值从MySQL(PHPMyAdmin)获取到PHP,然后将它们发送到echo,以便在Ionic上获取这些值。我不知道为什么,但是当我在数组中添加一个特定的值(来自MySQL的Bio字段)并执行.php文件时,我看到了一个白色的屏幕

这是我的密码:

json tecnico.php

<?php

require_once('connect.php');

$consulta = "SELECT
                idTecnico,
                nombre,
                apellido,
                cedula,
                genero,
                telefono,
                usuario,
                correo,
                ubicacion,
                bio,
                rate,
                catg.descripcion Categoria_Descripcion,
                subcat.descripcion Subcategoria_Descripcion
            FROM
                tecnico AS tec

            INNER JOIN categoria AS catg
            ON
                tec.categoria = catg.idCategoria
            INNER JOIN subcategoria AS subcat
            ON
                subcat.idCategoria = catg.idCategoria AND subcat.idSubcategoria = tec.subcategoria
            WHERE categoria = '".$_GET['categoria']."'";

    if(isset($_GET['subcategoria'])){
        $consulta = $consulta . " AND subcategoria = '".$_GET['subcategoria']."';";
    }

    $resultado = mysqli_query($conexion, $consulta);


        while($columna = mysqli_fetch_assoc($resultado)){
            $data[] = array(
                'id' => $columna['idTecnico'],
                'nombre' => $columna['nombre'],
                'apellido' => $columna['apellido'],
                'cedula' => $columna['cedula'],
                'genero' => $columna['genero'],
                'usuario' => $columna['usuario'],
                'ubicacion' => $columna['ubicacion'],
                'bio' => $columna['bio'],
                'rate' => $columna['rate'],
                'subcategoria' => $columna['Subcategoria_Descripcion']
            );
        }


    if(!empty($data)){
        echo json_encode($data);
    }

    else{
        $data[] = array(
            'success' => 'No se encontro usuarios con el criterio de busqueda dado',
            'workers' => false
        );
        echo json_encode($data);
    }

      mysqli_close($conexion); ?>

嗯,我已经深入研究了这个问题,只是一个编码错误。
在所有字符串变量上使用
utf8\u encode()
解决了我的问题。

如果遇到编码问题,可以使用此选项:

函数utf8ize($d){ if(is_数组($d)){ foreach($d为$k=>$v){ $d[$k]=utf8ize($v); } }elseif(是字符串($d)){ 返回utf8_编码($d); } 返回$d; } 在那之后:

echo json_encode(utf8ize($data)); echo json_编码(utf8ize($data));
白色屏幕?检查您的浏览器开发工具网络选项卡,如果它是一个500错误,那么您的php是一个致命的错误弹坑。检查您的服务器日志以了解问题。您还可以接受SQL注入。您应该参数化查询。检查服务器日志,并尝试echo$consulta;添加
ini\u集('display\u errors',1);ini_集(“日志错误”,1);错误报告(E_全部);mysqli_报告(mysqli_报告错误| mysqli_报告严格)到脚本的顶部。这将强制任何
mysqli\uu
错误生成一个异常,您可以在浏览器上看到,其他错误也可以在浏览器上看到。>网络选项卡显示状态:200:OK
我的服务器日志对此没有任何说明
此外,
ini\u集('display\u errors',1);ini_集(“日志错误”,1);错误报告(E_全部);mysqli_报告(mysqli_报告错误| mysqli_报告严格)不起作用。
echo json_encode(utf8ize($data));