Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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 不显示数据的简单循环_Php - Fatal编程技术网

Php 不显示数据的简单循环

Php 不显示数据的简单循环,php,Php,这让我感到非常困惑。。 Simple fetch&loop未显示任何数据 表中有数据显示循环外的结果返回数据 $dbc = mysqli_connect($dbh, $dbu, $dbp, $dbn); $query = mysqli_query($dbc,"SELECT * FROM `products`"); $res = mysqli_fetch_assoc($query); $rows = array(); do { $rows[] = $res['product']; }wh

这让我感到非常困惑。。 Simple fetch&loop未显示任何数据 表中有数据显示循环外的结果返回数据

$dbc = mysqli_connect($dbh, $dbu, $dbp, $dbn);
$query = mysqli_query($dbc,"SELECT * FROM `products`");
$res = mysqli_fetch_assoc($query);
$rows = array();
do {
    $rows[] = $res['product'];

}while($res = mysqli_fetch_assoc($query)) ;
$data = json_encode($rows);
echo $data;
echo mysqli_error($dbc);
<pre>Array
(
    [ID] => 1
    [list_name] => Dry Fruits
    [cat] => Dry Fruits and Nuts
    [item_code] => 1049
    [pack_style] => 106
    [packstyle_active] => Y
    [style_desc] => Stabilo250
    [system_wt] => 0.25
    [weight_desc] => 250gm
    [declared_weight] => 0.25
    [declared_weight_desc] => 250gm
    [uom] => gm
    [qty_in_case] => 1
    [case_size] => 1 x 250gm
    [product] => Almond Sliced
    [weight_code] => 126
    [qty_code] => 00
    [product_code] => 1049-106-126-00
    [barcode] => 502185878567
    [barcode13] => 5021858785678
    [sequence_no] => 78567
    [sage_code] => 104978567
    [active] => N
    [allergen] => Y
    [origin] => Various
    [density] => 0
    [processtype] => PT32
    [processed_by] => FGS
    [Industrial] => N
    [Catering] => N
    [RetailEthnic] => Y
    [RetailMainstream] => N
    [Website] => N
    [Special] => N
    [zohoitemcode] => 1540890000001353073
)
增加:

返回数组中的数据


产品记录超过36000条

请尝试将循环更改为以下内容:

echo "<pre>";
print_($res);
die(); 
此外,如果它仍然不起作用。然后:

$data = json_encode($res);
echo $data;

这似乎是一个奇怪的编码问题。在while循环中添加了一行,以强制编码为UTF-8

$dbc=mysqli\u connect($dbh,$dbu,$dbp,$dbn);
$query=“从‘产品’中选择*”;
$stmt=$dbc->prepare($query);
$stmt->execute();
$results=$stmt->get_result();
而($res=$results->fetch_assoc()){
$rows[]=mb_convert_编码($res['product'],'UTF-8','UTF-8');
}
回声';
打印(行);
回声';
$data=json_encode($rows);
回波数据;
echo mysqli_错误($dbc);

还有更多行要提取吗?什么是
var\u dump($query)
?您的代码正常。您可以显示所需的输出。
$res
确实存在于循环中,因为它在第3行中声明。
$rows[]=$res['product']
是否创建数字索引?您的
打印($rows)
输出看起来不是这样的。那怎么可能是你循环的结果呢?很抱歉,那是有人请求的输出形式,我刚刚忘记删除打印引用。我收到警告:第21行中的非法字符串偏移量'product',这是$rows[]=$val['product'];线现在将尝试您的上一个建议您得到了它,因为您的数组中没有名为
product
的键。您刚刚添加了您请求的输出您是否尝试了我在回答中更新的更改?是的,您提出的上一个建议刚刚输出了1个产品仍然相同@Joseph_JIt似乎您的查询只返回了1个产品。是的这很烦人,因为如果我做一个简单的echo$res['product'],有36000条记录;在do-while循环中,它返回它们所有查看更新的答案。干杯:)愚蠢的编码问题。。
echo "<pre>";
print_($res);
die(); 
$data = json_encode($res);
echo $data;
$dbc = mysqli_connect($dbh, $dbu, $dbp, $dbn);
$query = "SELECT * FROM `products`";
$stmt = $dbc->prepare($query);
$stmt->execute();
$results = $stmt->get_result();

while($res = $results->fetch_assoc()){

  $rows[] = mb_convert_encoding($res['product'], 'UTF-8', 'UTF-8');

}

echo '<pre>';
print_r($rows);
echo '</pre>';

$data = json_encode($rows);
echo $data;

echo mysqli_error($dbc);