因此,我尝试将数据库中的所有行回显到一个文件中,问题是它丢失了大约2800行,并且到处都找不到它们。
我已经尝试了一个try-catch,不同的获取数据的方法,并且还制作了一个用于循环遍历结果并使用data_seek移动指针的手册……
下面是代码
$sql = 'SELECT connectedProducts,id,price,masterprice,cardprice,name,url,fullImage,categoryid1,categoryid2,categoryid3,sku,connectedCategory,connectedPrice,uniqueID
FROM sku_new
where name !="" and stock="in stock" and price != "" and masterprice != "%No%"
and fullimage != "http:" AND price != "No disponible"
and masterprice !="No disponible" and cardprice != "No disponible"';
$result=mysqli_query($con,$sql);
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo $row['sku']."\r\n";
}这将打印38854行数据。然而,当我这样做的时候:
$sql = 'SELECT connectedProducts,id,price,masterprice,cardprice,name,url,fullImage,categoryid1,categoryid2,categoryid3,sku,connectedCategory,connectedPrice,uniqueID
FROM sku_new
where name !="" and stock="in stock" and price != "" and masterprice != "%No%"
and fullimage != "http:" AND price != "No disponible"
and masterprice !="No disponible" and cardprice != "No disponible"';
$result=mysqli_query($con,$sql);
$row_cnt = $result->num_rows;
echo $row_cnt;我得到41695 ..。所以我不知道其余的行发生了什么,它们似乎消失了,我尝试了不同的方法来获取它们,但似乎都不起作用。但是,如果我直接在DB上对DB可视化工具进行查询,我会正确显示41695行...我在这件事上伤透了脑筋,这没有任何意义..我做错了什么?
===== EDIT=========如果我从以下位置修改查询:
$sql = 'SELECT connectedProducts,id,price,masterprice,cardprice,name,url,fullImage,categoryid1,categoryid2,categoryid3,sku,connectedCategory,connectedPrice,uniqueID
FROM sku_new
where name !="" and stock="in stock" and price != "" and masterprice != "%No%"
and fullimage != "http:" AND price != "No disponible"
and masterprice !="No disponible" and cardprice != "No disponible"';至:
$sql = 'SELECT id,price,masterprice,cardprice,name,url,fullImage,categoryid1,categoryid2,categoryid3,sku,connectedCategory,connectedPrice,uniqueID
FROM sku_new
where name !="" and stock="in stock" and price != "" and masterprice != "%No%"
and fullimage != "http:" AND price != "No disponible"
and masterprice !="No disponible" and cardprice != "No disponible"';我得到了全部41695行!这没有任何意义,我没有修改WHERE指令!
发布于 2017-10-06 04:31:34
我认为对于某些记录,$row['sku']可以是空的。尝试此代码,然后检查总计数。
$i = 1;
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo $i." - ".$row['sku']."\r\n";
$i++;
}https://stackoverflow.com/questions/46594101
复制相似问题