Php 如何修复连续调用MySQLi_Connect后的致命错误?
我必须学习一些PHP来设置一些假日图像表。我最初使用MySQL在早期版本的WAMP中这样做,效果很好 我现在面临着使用当前版本的XAMPP(将所有调用转换为MySQLi)更新表和国家/地区的问题 这就是我的问题开始的地方。我得到了“致命错误:在……中超过了30秒的最大执行时间”。我已经搜索了这个网站和其他一些网站,寻找我的特定错误场景的答案,但没有成功 我正在运行Win 10下的最新XAMPP。我有3个文件: Generate_Tables_DE-我也有一个类似的EN表。它只是定义了输出语言Php 如何修复连续调用MySQLi_Connect后的致命错误?,php,xampp,Php,Xampp,我必须学习一些PHP来设置一些假日图像表。我最初使用MySQL在早期版本的WAMP中这样做,效果很好 我现在面临着使用当前版本的XAMPP(将所有调用转换为MySQLi)更新表和国家/地区的问题 这就是我的问题开始的地方。我得到了“致命错误:在……中超过了30秒的最大执行时间”。我已经搜索了这个网站和其他一些网站,寻找我的特定错误场景的答案,但没有成功 我正在运行Win 10下的最新XAMPP。我有3个文件: Generate_Tables_DE-我也有一个类似的EN表。它只是定义了输出语言
<?php
echo "<br>include Generate_Tables.php<br><br>";
include '../Generate_Tables.php';
echo "<br />Generating Tables - German<br /><br />";
Generate_Tables("#FFFFFF", "DE");
?>
它呼吁:
生成_表-这将在数据库中设置实际表,每个国家/地区有一个表:
<?php
function Generate_Tables($BgCol, $Land)
{
echo $BgCol . " " . $Land . "<BR />";
include("../Create_Table.php");
$Sum_Total = 0;
$Sum_Total += Create_Table("Thailand", $BgCol, $Land);
$Sum_Total += Create_Table("India", $BgCol, $Land);
$Sum_Total += Create_Table("Indonesia", $BgCol, $Land);
echo "Sum Total of all images = " . $Sum_Total . "<br /><br />";
}
?>
这就要求:
创建_表-这是出现问题的地方:
<?php
function Create_Table($Name, $bgCol, $Land)
{
require_once("../constants.php");
require_once("../functions.php");
$DBconn = mysqli_connect('localhost','root','');
if (!$DBconn) {
die("<BR />Database DBconn failed: " . mysql_error());
}
$db_select = mysqli_select_db($DBconn,'Images');
if (!$db_select) {
die("Database selection failed: " . mysql_error());
}
/* Some processing */
if (mysqli_close($DBconn) == FALSE)
{
echo "<BR/>End DBconn failed";
}
return ($array_count);
}
?>
生成“Thailand”表时没有问题,“India”表启动,但在MySQLi_connect命令上超时30秒后退出
我尝试过连接的各种变体,例如在连接中包含DB名称,并删除MySQLi_选择。没有什么能解决这个问题
与我发现的所有答案不同的是,只有在Create_Table的第二次迭代中才会出现错误。如果我从Generate_表中删除“Thailand”调用,“India”可以工作,但“Indonesia”现在有问题了。
我已经搜索了教程和手册,但似乎没有什么我做错了。
有人能帮忙吗?求你了
另外,如果整件事有点原始,那很抱歉,这是我第一次尝试PHP。更改
PHP.ini上的max\u execution\u time
config
或者,您可以通过以下方式更改特定脚本运行时的执行时间:
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
请看下面的答案。谢谢您是否可以添加您使用的SQL请求(我相信它们应该在“/*某些处理*/”中)部分。可能是发送的SQL查询有问题,例如carthesian产品,…答案对您有帮助吗?请接受或投票。谢谢!ATM,这不是一个正确的答案,因为它可能隐藏问题而不是修复问题。我的答案基于给出的错误。根据他输入的脚本,它似乎执行了以下逻辑:他想要但只是缺少执行时间。但我理解你的否决票,尽管OP也必须澄清他的问题。如果没有运行SQL查询集,我们无法确定这仅仅是一个超时问题。如果其中一个查询不好,脚本可能需要很长时间才能完成。@NaeiKinDus,是的,这就是为什么我希望OP是c把他的问题也弄清楚。:)但关于目前的问题,我的回答就足够了。