Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我从一位客户那里继承了一个php/mysqli数据库网站,但该网站存在严重问题_Php_Mysqli_Connection - Fatal编程技术网

我从一位客户那里继承了一个php/mysqli数据库网站,但该网站存在严重问题

我从一位客户那里继承了一个php/mysqli数据库网站,但该网站存在严重问题,php,mysqli,connection,Php,Mysqli,Connection,这是一个php文件,用于管理导致严重服务器性能问题和站点上“连接太多”sql错误的旋转广告。下面是php脚本。谁能给我一些关于如何纠正这一点的见解,因为我是php的新手 <? require("../../admin/lib/config.php"); // connect to database mysql_pconnect(DB_HOST,DB_USER,DB_PASS); mysql_select_db(DB_NAME); $i = 1; function gr

这是一个php文件,用于管理导致严重服务器性能问题和站点上“连接太多”sql错误的旋转广告。下面是php脚本。谁能给我一些关于如何纠正这一点的见解,因为我是php的新手

        <?

require("../../admin/lib/config.php");
// connect to database

mysql_pconnect(DB_HOST,DB_USER,DB_PASS);
mysql_select_db(DB_NAME);

$i = 1;
function grab()
{
    $getBanner = mysql_query("SELECT * FROM sponsor WHERE active='Y' AND ID != 999 AND bannerRotation = '0' ORDER BY RAND() LIMIT 1");
    $banner = mysql_fetch_array($getBanner);
    if ($banner['ID'] == ''){
        mysql_query("UPDATE sponsor SET bannerRotation = '0'");
    }   
    if (file_exists(AD_PATH . $banner['ID'] . ".jpg")){
        $hasAd = 1;
    }
    if (file_exists(BANNER_PATH . $banner['ID'] . ".jpg")){
        return "$banner[ID],$hasAd";
    } else {
        return 0;
    }
}

while ($i <= 3){
    $banner = grab();
    if ($banner != 0){
        $banner = explode(",",$banner);
        mysql_query("UPDATE sponsor SET bannerView = bannerView + 1 WHERE ID='$banner[0]'");
        mysql_query("UPDATE sponsor SET bannerRotation = '1' WHERE ID = '$banner[0]'");
        echo "banner$i=$banner[0]&hasAd$i=$banner[1]&";
        $i++;
    }
}

?>
哎呀

正在从循环中调用
grab()
,但未参数化。似乎也没有任何理由一再这样称呼它

200%的加速比很容易实现。

正在从循环中调用
grab()
,但未参数化。似乎也没有任何理由一再这样称呼它


200%的加速比是很容易实现的。

我看不到mysqli

问题是,
mysql\u pconnect()
打开了一个到数据库的持久连接,并且在执行结束时没有关闭,因为您没有在任何地方调用mysql\u close(),所以连接永远不会关闭


全部都在手册中:

我看不到mysqli

问题是,
mysql\u pconnect()
打开了一个到数据库的持久连接,并且在执行结束时没有关闭,因为您没有在任何地方调用mysql\u close(),所以连接永远不会关闭


这一切都在手册中:

好吧,对于您的客户来说,好消息是之前的开发人员放弃了该项目。如果他继续努力的话,他只会造成更大的伤害

  • 此脚本使用的是ext/mysql,而不是ext/mysqli。最好使用mysqli或PDO_-mysql,因为


  • 建议使用完整的PHP开放标记语法(
    )好吧,对于您的客户来说,好消息是之前的开发人员放弃了该项目。如果他继续工作,他可能会造成更大的损害

    • 这个脚本使用的是ext/mysql,而不是ext/mysqli


    • 建议使用完整的PHP开放标记语法(
      即使没有脚本,我也会检查慢速查询日志,看看是否有持续导致问题或频繁运行的查询。如果有慢速运行的查询,它会使问题更加复杂。这是一个起点,在代码可用之前,很难真正确定。抱歉,我想我已经发布了它ed now。即使没有脚本,我也会检查慢速查询日志,看看是否有持续导致问题或频繁运行的查询。如果有慢速运行的查询,它运行的次数越多,问题就越复杂。这是一个起点,在代码可用之前,很难真正确定。抱歉,我想我已经发布了它ed now.是的,这是由另一个放弃cusgtomer的web开发人员创建的,现在我正在尝试清理它并使其工作。你可以在webrodder.com上看到该网站。旋转广告正在工作,但现在不工作。有人对此有简单的修复方法吗?是的,这是由另一个放弃cusgtomer的web开发人员创建的,现在我正在尝试你可以在webrodder.com上看到这个网站。旋转广告一直在工作,但现在没有。有人对此有一个简单的解决方法吗?因此,将其更改为mysql_connect(),并在启动时用mysql_close()关闭脚本将纠正持久连接?我想,这也会纠正错误我得到的“连接太多”错误。如果使用
      mysql\u connect()
      调用
      mysql\u close()
      将没有任何用处,因为它在执行结束时已关闭。我建议使用mysqli或PDO,因为mysql\u*函数正在弃用过程中。因此将其更改为mysql\u connect()使用mysql\u close()在bootn处关闭脚本将纠正持久连接?我想,这也将纠正我遇到的“连接太多”错误。如果使用
      mysql\u connect()
      调用
      mysql\u close()将没有用
      反正它在执行结束时就关闭了。我建议使用mysqli或PDO,因为mysqli的函数正在被弃用。谢谢比尔的教育,我很感激。我会做这些改变。我讨厌收拾别人的烂摊子。我感觉到你的痛苦。我们都在那里。谢谢比尔的教育,我很感激我会努力改变的。我讨厌收拾别人的烂摊子。我感觉到你的痛苦。我们都经历过。