PHP echo 不打印

标签 php mysql

我的 PHP 编码遇到了一个奇怪的问题...让我描述一下我的 PHP 代码的用途

  1. 从 Excel 中读取单元格值并将其上传到 MySQL 表中
  2. 从 MySQL 表中读取每个值并从外部源获取数据
  3. 将从外部源获取的数据存储在表中
  4. 回显该过程已完成
  5. 回显链接以显示结果

代码工作正常,但是当 Excel 行大小很大时,点 1,2,3 可以工作,但 4,5 不显示

没有错误没有警告...

我只是不知道为什么会发生这个问题

附上下面的代码片段:

<?php

error_reporting (E_ALL ^ E_NOTICE);

error_reporting (E_ALL ^ E_DEPRECATED);

error_reporting(0);

session_start();

require_once("index11.php");

require_once("simple_html_dom.php");

include('ganon.php');

ini_set('max_execution_time', 1200);






$val2 = $_SESSION['$val2'];




if($_SESSION['$val8'] == "mu")
{

if($_SESSION['$val2'] == "fr")

{

//echo "MU for FR";


$conn = mysql_connect("localhost", "root", "****");


if (!$conn) {
    echo "Unable to connect to DB: " . mysql_error();
    exit;
}

if (!mysql_select_db("DB")) {
    echo "Unable to select mydbname: " . mysql_error();
    exit;
}


$sql = "SELECT DISTINCT EANcode from test WHERE timestamp = DATE( NOW( ) ) and EAncode <> ''";



$result = mysql_query($sql);
$a = 0;

while ($row = mysql_fetch_assoc($result)) {

foreach ($row as $b) 

 { 
$ean = $b;

$url = "WWW.URL.COM" .$ean;

$html = file_get_html($url);


$link=$html->find('a[class=webtrekk]');

$link1 = $link[4] -> href;


$link2 = "WWW.URL.COM" .$link1;

$html = file_get_dom($link2);


$i = 0;

foreach($html('tr') as $rowdata) {
        $name = '';
        $test1 = '';

       foreach($rowdata('a[class="test1"]') as $d) {
            $name = $d('img', 0)->alt;

$name2 = mysql_real_escape_string($name);
$arr = explode("-", $name2, 2);
$name1 = $arr[0];


        }      

foreach($rowdata('td[class="test1"]') as $d) {
            foreach($d('span[class="test1"]') as $d2) {
                $test1 = $d2->getPlainText();
            }
        }      

if(!$test1 == "")
{
$i = $i + 1;

$now = new DateTime();

$dt = $now->format('Y-m-d H:i:s');

mysql_select_db("DB", $conn);

$sql = "INSERT INTO `DB`.`tab_fr` (`pos`, `ean`, `prod_url`, `prod_compttr`, `prod_test1`, `timestamp`) VALUES ('$i', '$ean','$link2','$name1','$test1', '$dt')";

mysql_query($sql) or die('Error, insert query failed' . mysql_error());




}
    }


}      

}
flush();
usleep(300000);
$msg = "Query op Test.fr succesvol afgerond"; 
echo $msg ."<br/>" ;

}


if($_SESSION['$val2'] == "fr")
{
$v2 = "Test.fr,";
}
else
{
$v2 = "";
}


if($_SESSION['$val2'] == "fr")
{

echo "<a href=10d2.php>cLICK HERE ".$v2."</a>" ."<br/>";

}
}

?>

发生这种情况是因为代码中遇到超时问题,任何人都可以帮助我如何在超时后继续编码。

最佳答案

当处理大量数据时,可能会导致相当于无限循环的情况。您可以看到数据库中的数据插入成功,但尚未完成。所以你必须找到一个技巧来避免这种无限循环执行。

提示:将整个循环分成 3 个或两个。

关于PHP echo 不打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25946908/

相关文章:

php - 从联结表中选择一定数量的行

mysql - 在触发器级联运行的单个查询期间哪些表受到影响

c# - MySQL从C#中的存储过程接收inout参数

MySQL select order by contains num

javascript - 从通过 echo 语句动态添加的表单元素获取 POST 值?

从同一域上的另一个页面调用时,PHP 外部 API 访问失败?

php - 将 Laravel 5.1 升级到 5.2 时出现 fatal error

java - Android VMD MySQL 插入和显示对话框

python - 使用 _mysql 修复 SQL 注入(inject)

php - 定位mysql数据库中不可见的utf8字符