PHP警告导致sql超时?

时间:2018-03-08 05:54:15

标签: php

我在服务器日志上收到了一大堆(foreach())警告。他们可能通过sql连接泄漏导致我的数据库上出现sql超时吗?

我不完全确定如何解决问题,但我读到我需要添加这段代码:

if (is_array($values) || is_object($values))
{
    foreach ($values as $value)
    {
        ...
    }
}

...进入我的.php,但不知道在哪里添加它或为什么?抱歉,诺布再次来到这里。

以下是我的代码部分:PHP警告:

  

为foreach()提供的参数无效   /hermes/bosnacweb03/bosnacweb03aa/b1245/ipg.tinsflowershop/panga/classes/ImageType.php   在第148行

(第148行开始 - foreach($结果为$ result){

   /**
     * Finds image type definition by name and type
     * @param string $name
     * @param string $type
     */
    public static function getByNameNType($name, $type = null, $order = 0)
    {
        static $is_passed = false;

        if (!isset(self::$images_types_name_cache[$name.'_'.$type.'_'.$order]) && !$is_passed) {
            $results = Db::getInstance()->ExecuteS('SELECT * FROM `'._DB_PREFIX_.'image_type`');

            $types = array('products', 'categories', 'manufacturers', 'suppliers', 'scenes', 'stores');
            $total = count($types);

            foreach ($results as $result) {
                foreach ($result as $value) {
                    for ($i = 0; $i < $total; ++$i) {
                        self::$images_types_name_cache[$result['name'].'_'.$types[$i].'_'.$value] = $result;
                    }
                }
            }

            $is_passed = true;
        }

我认为我日志上的所有警告都是同一个问题?例如:

  

PHP警告:为foreach()提供的参数无效   /hermes/bosnacweb03/bosnacweb03aa/b1245/ipg.tinsflowershop/panga/classes/Category.php   在第594行

0 个答案:

没有答案