嘿伙计们(和女孩们)我的数组有问题,下面的代码看起来像复制数组中的每一列! :/
<?php
//quantidade_de_registro
include("mysqlconfig.inc");
$query = "SELECT * FROM contas ";
$res = mysql_query($query);
while($row = mysql_fetch_array($res)){
$arr[] = $row;
}
echo json_encode($arr);
mysql_close($con);
?>
它将返回如下内容:
[{"0":"5","ID":"5","1":"Zenny","Login":"Zenny","2":"Zeny","Nome":"Zeny","3":"daniel_queiroz789@hotmail.com","Email":"daniel_queiroz789@hotmail.com","4":"23021994","Senha":"23021994"}]
每列出现两次,但我需要每列只出现一次,我的朋友说我需要重新解析数组并将其放入数组中,我不知道它意味着什么或我怎么做那:/
请帮助:)
答案 0 :(得分:1)
您可以通过向fetch添加第二个参数来修改脚本
mysql_fetch_array($res,MYSQL_ASSOC)
但是我会说你应该使用PDO或mysqli
答案 1 :(得分:0)
答案 2 :(得分:0)
mysql_fetch_array()因为它是默认情况下“MYSQL_BOTH”的第二个参数,这意味着它返回一个包含数字和关联键的数组。
要只拥有其中一个,您可以在通话中指定它
mysql_fetch_array($res, MYSQL_ASSOC); // for assosiative
// OR
mysql_fetch_array($resm MYSQL_NUM); // for numeric
有关更多信息,您可以查看PHP文档:http://php.net/manual/en/function.mysql-fetch-array.php
答案 3 :(得分:0)
尝试使用PDO。 PDOStatement类提取方法允许您设置返回数据的格式。
以下是一些用于在关联数组中检索数据的代码:
try {
$dbh = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$sth = $dbh->prepare("SELECT * FROM contas");
if($sth->execute()) {
$contacts = $sth->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($contacts);
} else {
throw new PDOException(print_r($sth->errorInfo(), true));
}
} catch(PDOException $e) {
echo $e->getMessage();
}