我有以下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工作的任何想法?
答案 0 :(得分:0)
我的第一个想法是脚本的php max_execution_time为低,或者在操作期间连接将丢失。尝试使用set_time_limit(0)来停用时间限制。
它只是第一个想法
答案 1 :(得分:0)
最后它似乎刚刚开始工作,想知道是否存在Web服务器或其他问题,无论如何,感谢每个人的输入