Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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 mysqli如何处理具有两个同名filde的数组_Php_Mysql_Arrays_Mysqli - Fatal编程技术网

Php mysqli如何处理具有两个同名filde的数组

Php mysqli如何处理具有两个同名filde的数组,php,mysql,arrays,mysqli,Php,Mysql,Arrays,Mysqli,我想知道mysqli如何处理具有两个或多个同名字段的数组。例如,我有一个查询: SELECT c.*, h1.name, h2.name FROM connections AS c LEFT JOIN hw AS h1 ON c.hw1 = h1.id LEFT JOIN hw AS h2 ON c.hw2 = h2.id WHERE h1.active = 1 AND h2.active = 1 当我使用MYSQLI_ASSOC获取数组函数时,我应该得到一个包含两个字段“name

我想知道mysqli如何处理具有两个或多个同名字段的数组。例如,我有一个查询:

SELECT c.*, h1.name, h2.name
FROM connections AS c 
LEFT JOIN hw AS h1 
ON c.hw1 = h1.id 
LEFT JOIN hw AS h2 
ON c.hw2 = h2.id 
WHERE h1.active = 1 
AND h2.active = 1
当我使用MYSQLI_ASSOC获取数组函数时,我应该得到一个包含两个字段“name”的数组。mysqli是否以某种方式区分了它们,还是某些数据丢失了


我知道我可以使用MYSQLI_NUM或选择c.*,h1.name作为name1等,但我很好奇当我用这种特殊的方式来做时会发生什么。它背后的机制是什么?

你为什么不试试,看看你到底得到了什么?这比在这里询问并等待答案要快。我已经这样做了,似乎其中一个字段丢失了,但是,我很好奇它是如何完成的,是否有一些异常需要捕获等等。因为我没有得到任何错误,只有一个字段比预期的数组小;从技术上讲,它不是一个例外,也不是一个错误,这就是它工作的原因。。。。MySQLi没有尝试做任何聪明的事情,只是将每个列值依次与列名关联,即“name”。。。。当它存储第二个名称列的值时,它已经从第一个名称列中获得了一个值,这意味着它将用下一个名称列覆盖上一个名称列