如何在此函数中替换fetch_all

时间:2016-04-08 19:29:46

标签: php mysql mysqli fetch

我需要替换fetch_all,因为我的托管不支持

找到了循环方式。但我不能。

功能

function getMenusuno()
{
   global $conex;
   $respuesta= mysqli_query ($conex, "SELECT M.menu_nombre, M.menu_ruta FROM privilegios P 
   INNER JOIN menus M ON P.menu_id = M.menu_id WHERE tipousu_id='".$_SESSION['resultipo']."' 
   AND M.menu_id BETWEEN '1' AND '4' ORDER BY p.menu_id ASC");
   $respuesta->fetch_all();
}

试试这个循环。但不是如何构建

   $data = [];
   while ($row = $respuesta->fetch_assoc()) {
     $data[] = $row;
   }

我把它放入或放出功能?请帮帮我

3 个答案:

答案 0 :(得分:1)

而不是fetch_all(),首先执行,而不是按行获取:index_columns是我的特色......;)

$sql_result = $this->pdo_execute();
while ($row = $this->stmt->fetch()) {
    $data_array[$row[<index_column ... e.g. memberID>]] = $row;
}

假设index_column是例如memberID,您可以直接在$data_array访问任何成员,如果您知道(并且大部分时间您已经或应该知道)ID,请执行以下操作:

$data_array[<memberID>] = ARRAY(of member=<memberID> data); // coOl ;)

答案 1 :(得分:0)

您应该能够使用$ data数组访问您的数据。尝试测试一下:

foreach($data as $value){
   var_dump($value);
}

您将能够看到数组应该为您提供&quot; menu_nombre&#39;的命名键。 &安培; &#39; menu_ruta&#39;尝试像这样访问:

// first row
$data[0]['menu_nombre'];

答案 2 :(得分:-1)

您还可以使用mysqli_fetch_assoc完成查询的提取信息。像:

   while ($row = mysqli_fetch_assoc ($my_query) ) {
     echo $row['column_name1'];
     echo $row['column_name2'];
     echo $row['column_name3'];
     echo $row['column_name4'];
     echo $row['column_name5'];
 }

注意:$my_query是保存mysqli_query的变量($ link,&#34; SELECT * FROM table&#34;)