Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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_Database_Mysqli - Fatal编程技术网

Php Mysql查询的实现

Php Mysql查询的实现,php,mysql,database,mysqli,Php,Mysql,Database,Mysqli,我已从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( $_P

我已从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 merge
函数中。合并数组时,将使用相同的字符串键覆盖值。您有相同的字符串键,它是
2018年3月31日

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

$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"}]

问题出在
数组\u merge
函数中。合并数组时,将使用相同的字符串键覆盖值。您有相同的字符串键,它是
2018年3月31日

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

$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"}]

2018年3月35日
?今天是星期几?这是一个varchar(15)而不是日期,我只为测试更改了字符串added code php=)其他uud周围可能有空间。请在删除空间后尝试这种方法。“从punti中选择*,其中trim(uud)='2a1c866f-9f08-4c81-aeeb-48ec3b98ab43'”
$array=array\u merge($array,array($data=>$punti))这就是问题所在。为什么合并?
35/03/2018
?今天是星期几?这是一个varchar(15)而不是日期,我只为测试更改了字符串added code php=)其他uud周围可能有空间。请在删除空间后尝试这种方法。“从punti中选择*,其中trim(uud)='2a1c866f-9f08-4c81-aeeb-48ec3b98ab43'”
$array=array\u merge($array,array($data=>$punti))这就是问题所在。为什么合并?非常感谢=)非常感谢=)