dongxin5054 2011-02-13 06:52
浏览 42
已采纳

只有最后一个查询返回MySQL的结果

I am querying a MySQL database through PHP. I read input from a file. Then loop over the inputs to query the database to retrieve 3 attributes for each input.

The database connection is fine. All the queries run fine otherwise. What is happening is for all the queries but the last one I get mysql_num_rows($result) = 0. And only for the last one it prints correct results.

I cannot figure out why. What might possibly be wrong?

$fh = fopen($my_File, 'r');
$arr = explode("
", fread($fh, filesize($my_File)));
fclose($fh);
foreach ($arr as $line) {     
    if ($line != "
" || $line != "" || $line != NULL) {
    $query = "SELECT id, name, status FROM table1 WHERE id='$line'";   
    $result = mysql_query($query);
    if (!$result) {
        die('Invalid query: ' . mysql_error());
    }
    $num = mysql_num_rows($result);
    if ($num == 0) {
       echo "NULL Set<br/>";       
    } else {
       echo "RESULT Set<br/>";
    }
}
  • 写回答

1条回答 默认 最新

  • dongpu3347 2011-02-13 06:58
    关注

    Is it possible that the lines in your file are terminated by " " rather than just " "? If so, you'll have an extra "" at the end of each element of $arr (except the last).

    Try adding

    $line = trim($line);
    

    at the beginning of your foreach loop and see if it makes a difference.

    Better yet, use fgets instead of fread.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c