奇怪的Mysql查询

马库斯·肯尼迪

我从 PHP 运行了这个查询:

"SELECT * FROM punti WHERE uud='2a1c866f-9f08-4c81-aeeb-48ec3b98ab43'"

$con = mysqli_connect( $serverd, $userd, $passd, $datad )or die( "Unable to connect to the MySQL Server!" );
//$uud = mysqli_real_escape_string( $con, urldecode( $_POST[ 'uud' ] ) );

$query = mysqli_query( $con, "SELECT * FROM punti WHERE uud='2a1c866f-9f08-4c81-aeeb-48ec3b98ab43'" );
$numrows = mysqli_num_rows( $query );
if ( $numrows > 0 ) {
    $array = array();   
    while ( $row = mysqli_fetch_assoc( $query ) ) {
        $data = $row[ 'data' ];
        $punti = $row[ 'punti' ];
        $array = array_merge($array, array($data => $punti));   
    }
    echo json_encode( $array );     
} else {
    echo "Vuoto";
}

结果: {"35\/03\/2018":"3","31\/03\/2018":"6"}

它返回 2 个结果,但在数据库中有 4 个结果

看照片就明白了:

在此处输入图片说明

同一查询的数据库结果:

在此处输入图片说明

u_mulder

问题出在你的array_merge功能上。合并数组时,会使用相同的字符串覆盖你有相同的字符串键,它是.31/03/2018

使用简单的[]符号将新数组添加到结果中:

$array[] = array($data => $punti);
// instead
//$array = array_merge($array, array($data => $punti)); 

但请注意,您json将拥有另一种结构,例如:

[{"35\/03\/2018":"3"},{"31\/03\/2018":"6"},{"31\/03\/2018":"1"}]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章