Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.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
从2数组php mysql中的表中获取2列_Php_Arrays_Select_Mysqli_Fetch - Fatal编程技术网

从2数组php mysql中的表中获取2列

从2数组php mysql中的表中获取2列,php,arrays,select,mysqli,fetch,Php,Arrays,Select,Mysqli,Fetch,我有一张有6列的桌子 有点像: 数据库->儿童 |CANDY | COLOR | DRINK | PET | SONG | TOY | --------------------------------------------------- |cookie | blue | juice | dog | if | ball | |cake | red | coke | cat | ask | doll | 我想去商店 一个数组中的所

我有一张有6列的桌子

有点像:

数据库->儿童

|CANDY   | COLOR  |  DRINK  | PET  | SONG  | TOY   |
---------------------------------------------------
|cookie  | blue   | juice   | dog  | if    | ball  |
|cake    | red    | coke    | cat  | ask   | doll  |
我想去商店

  • 一个
    数组中的所有糖果称为
    Candy[]
  • color[]上的所有颜色
  • drink[]上的所有饮料
我使用以下行创建了列名称为
FORLOOP
的数组,效果很好:

$fieldName=mysqli\u fetch\u field\u direct($result,$i)->name; ${$fieldName}=array()

但是,当代码到达WHILE部分(也在循环中)时,为了在数组[]中添加列项,它只添加第一个元素并返回FORLOOP,然后将一个元素添加到下一个数组[]并跳到下一个数组[]

while($row = mysqli_fetch_array($result)){
  //inserts itens in the "$array" with columns name
  ${$fieldName}[] = $row[$i];
}
如果我尝试
“echo”
数组[]
,并且在
的末尾不放置
“BREAK”
,它将返回一个错误

“未定义的偏移量:第0行…”

当我把“
BREAK
”放进去时,它适用于:

 echo candy[0];   = cookie
echo candy[1];   = Undefined offset: 1 in line...
但不适用于:

 echo candy[0];   = cookie
echo candy[1];   = Undefined offset: 1 in line...
以下是全部代码:

$sql="SELECT candy, color, drink, pet, song, toy FROM kids";
$result = mysqli_query($con,$sql);

$colNumber = mysqli_num_fields($result);

    for($i=0;$i<=$colNumber -1;$i++){

        $fieldName = mysqli_fetch_field_direct($result, $i)->name;
        echo . $fieldName . "<br /><br />";

        //Creates an Array with Coll Name from DB 
        //with dynamic-variable ${$fieldname}
        ${$fieldName} = array(); 

        while($row = mysqli_fetch_array($result, MYSQLI_NUM)){

            //inserts the received itens into the array ${$fieldName} 
            ${$fieldName}[] = $row[$i];

             printf ("%s (%s)\n", $row[$i], $row[1]); 
             }

       echo ${$fieldName}[0];
       echo candy[0];

       echo ${$fieldName}[1];
       echo candy[1];
       echo "<hr />";
}
但是,像那样,我需要600行重复的代码才能得到我想要的,并为DB表上的每个新coll一次又一次地复制/粘贴

有什么想法吗

我需要它将数组放入HTML中
,然后使用
mt_rand()
洗牌并获得不同的“
profiles
”。这不会用于儿童用品,这只是一个例子。 这将是一个虚拟的犯罪创造者,它将洗牌这些变量,为法学院学生创建不同的犯罪假设

我已经花了3天的时间阅读了


“谷歌”搜索,但找不到任何答案。

找到了一种方法。我把代码翻译成了英语,这样别人就可以用了。如果有任何变量名错误,请使用注释修复它,然后享受

$sql = "SELECT parquet, defendant, action, modusOperandi, victim, crime FROM crime_elements";

//runs '$sql' query to get database data
$result = mysqli_query($con,$sql);

$collNumber = mysqli_num_fields($result);

echo "ColL Number :" . $collNumber;

// Creates $data Array[]
$data = array(); 

while($row = mysqli_fetch_array($result)){
    //inserts received data into "$data" and makes available by array[]index
    $data[] = $row;
}

for($i=0;$i<=$collNumber -1;$i++){
    // Gets the column name from the query()
    $fieldName = mysqli_fetch_field_direct($result, $i)->name;
    echo "</br><b>Coll Name:</b> " . $fieldName . "<br /><br />";

        ${$fieldName} = array_column($data, $i);
    print_r(${$fieldName});
    echo "<br /><b>Specified item choice[]:</b> ". ${$fieldName}[2];
    echo "<hr />";
}
$sql=“从犯罪元素中选择拼花地板、被告、行动、作案手法、被害人、犯罪”;
//运行“$sql”查询以获取数据库数据
$result=mysqli\u查询($con,$sql);
$collNumber=mysqli\u num\u字段($result);
回显“ColL编号:”$科勒数;
//创建$data数组[]
$data=array();
while($row=mysqli\u fetch\u数组($result)){
//将收到的数据插入“$data”并按数组[]索引提供
$data[]=$row;
}
对于($i=0;$iname;
echo“
Coll Name:”.$fieldName.“

”; ${$fieldName}=array\u列($data,$i); 打印(${$fieldName}); echo“
指定的项选择[]:”${$fieldName}[2]; 回声“
”; }
因为我不知道如何让它工作。我已经试过了,但我得到的只是错误。任何代码建议都将不胜感激。亲爱的,我删除了我的答案。是的,我现在知道你想要什么。所以我不能帮你。给我这个。我接受任何东西。哈哈哈!阿里夫,我明天试试这个,让你知道。因为现在是凌晨1点24分,我没有明天有工作。从现在开始,谢谢!我照你说的做了,得到了这个,Arif:mysql\u fetch\u assoc()期望参数1是资源,布尔值在…中给出,不知道是否相关,但我使用mysqli()进行连接