PHP函数似乎只是停止了一半

时间:2013-08-29 07:04:25

标签: php mysql

我有以下PHP编写的函数。这是创建一个新的数据库表并向其插入一些值和另一个表。

function createTable($tablename, $mins){
        $con=mysqli_connect("localhost","****","****","*****");

        // Check connection
        if (mysqli_connect_errno($con))
        {
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }
        $tableCreate = "CREATE TABLE rates_{$tablename} (
                                              Weight int(11),
                                              CBMMin double,
                                              CBMMax double,
                                              Min double
                                              )";
        $queryResult = mysqli_query($con, $tableCreate);
        if ($queryResult === TRUE) {
            print "<br /><br />Table Created";
        } else {
            print "<br /><br />No TABLE created. Check " . mysqli_error($con);
        }
        //Echo/print stop working here but below query does fire
        $queryResult = mysqli_query($con, "INSERT INTO Custom_Rates (TableName) VALUES ('rates_{$tablename}');");
        //everything below here does not 
        $rows = array(
                array('weight' => 1000, 'cbm_min' => 0.1, 'cbm_max' => 2.3 ),
                array('weight' => 1500, 'cbm_min' => 2.31, 'cbm_max' => 3.5 ),
                array('weight' => 2000, 'cbm_min' => 3.51, 'cbm_max' => 4.6 ),
                array('weight' => 2500, 'cbm_min' => 4.61, 'cbm_max' => 5.75 ),
                array('weight' => 3000, 'cbm_min' => 5.75, 'cbm_max' => 6.9 ),
                );
        foreach ($rows as $row) {
            $queryResult = mysqli_query($con, "INSERT INTO 'rates_".$tablename."' (Weight, CBMMin, CBMMax) VALUES (".$row['weight'].",".$row['cbm_min'].",".$row['cbm_max'].");");
            if ($queryResult === TRUE) {
                print "<br /><br />Row Created";
            } else {
                print "<br /><br />No Row created. Check " . mysqli_error($con);
            }
        }

似乎每个循环的简单都不会被触发,因为无论是什么都没有被打印,所以if语句都会被触发。 我添加了额外的打印语句来调试最后实际执行的内容,它似乎在

之后
$queryResult = mysqli_query($con, "INSERT INTO Custom_Rates (TableName)
VALUES ('rates_{$tablename}');");

行没有其他事情发生(我知道这个查询有效,因为我可以在费率表中看到日期)。

关于什么可以阻止foreach工作的任何想法?

2 个答案:

答案 0 :(得分:0)

我的第一个想法是脚本的php max_execution_time为低,或者在操作期间连接将丢失。尝试使用set_time_limit(0)来停用时间限制。

它只是第一个想法

答案 1 :(得分:0)

最后它似乎刚刚开始工作,想知道是否存在Web服务器或其他问题,无论如何,感谢每个人的输入