php – 在远程数据库中插入134675值的最快方法

前端之家收集整理的这篇文章主要介绍了php – 在远程数据库中插入134675值的最快方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个超过134675值的数组,我需要将它们插入我的MysqL表.我知道使用PHPMysqL数据插入所需的所有东西.是否有一种快速方法可以让我在30-60秒内在远程服务器上插入所有这些值?因为当我使用foreach方法尝试它时,页面会超时.远程服务器不允许DB连接持续超过60秒.我不知道为什么.所以请帮助我快速逻辑.

这是我试过的一些代码

foreach($array as $value)
{
    $sql="insert into collected values('".$value."')";
    $res=MysqL_query($sql);
    //then some extra code.
}

注意
我在服务器上没有这么多的访问权限.我的数据库帐户只能插入值,只能插入值.它对MysqL DB的约束.我不能使用CSV或任何其他东西.

最佳答案
您可以在循环中包含mysql_ping()函数.此功能检查以确保连接已打开,如果不是,则重新连接.

使用您自己的示例,您可以执行以下操作:

foreach($array as $value) {
    MysqL_ping($dbconn);
    $sql="insert into collected values('".$value."')";
    $res=MysqL_query($sql);
    //then some extra code.
}

编辑:应该注意的是,根据文档,在MysqL 5.0.14之后,PHP不会自动重新连接.如果你使用更新版本的MysqL,你将不得不放入自己的连接逻辑,也许这样(我还没有测试过):

function check_dbconn($connection) {
    if (!MysqL_ping($connection)) {
        MysqL_close($connection);
        $connection = MysqL_connect('server','username','password');
        MysqL_select_db('db',$connection);
    } 
    return $connection;
}

foreach($array as $value) {
    $dbconn = check_dbconn($dbconn);
    $sql="insert into collected values('".$value."')";
    $res=MysqL_query($sql,$dbconn);
    //then some extra code.
}
原文链接:https://www.f2er.com/mysql/434216.html

猜你在找的MySQL相关文章