我正在尝试进行mysql fetch,但它不断向数组中添加编号和标记的键。我希望它只记录数组中标记的名称和数据。
我使用了错误的mysql调用吗?
global $con,$mysqldb;
$sql="SHOW FIELDS FROM ".$dbtable;
$tr = mysqli_query($con,$sql);
$tl = mysqli_fetch_array($tr);
$tl = mysqli_fetch_array($tr);
$sql="SELECT * FROM ".$mysqldb.".".$dbtable." ORDER BY ".$tl['Field']." LIMIT 3";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result)) {
$table[$row[1]] = $row;
}
foreach($table as $item => $data){
foreach(array_keys($data) as $pointer => $field) {
echo"pointer=".$pointer."\t";
echo"field=".$field."\n";
echo "data=".$data[$field]."\n";
}
}
pointer=0 field=0 data=3823
pointer=1 field=PID data=3823
pointer=2 field=1 data=AA
pointer=3 field=symbol data=AA
pointer=4 field=2 data=1
pointer=5 field=value data=1
我想省略0,2和&阵列中有4个。
答案 0 :(得分:1)
查看mysqli_fetch_array()
函数的PHP.net手册。
您会看到有一个名为resulttype
的选项会接受3个值中的1个 - MYSQLI_ASSOC
,MYSQLI_NUM
或MYSQLI_BOTH
默认值。
使用MYSQLI_ASSOC
将删除数字键。
答案 1 :(得分:0)
感谢thebluefox快速响应。 我用以下内容替换了fetch:
while($row = $result->fetch_array(MYSQLI_ASSOC)) {
现在结果正在记录中。