Код не работает при переходе с php v5.5 на php v5.3 - PullRequest
0 голосов
/ 30 сентября 2019

Я использую следующую функцию для чтения данных из базы данных. Это хорошо работает в php v5.5 на моем локальном компьютере. Но когда я загрузил этот код на сервер под управлением php v5.3, он не работает.

  function sql_select_many($sql, $db_connection) {
    $mysql_query = mysql_query($sql, $db_connection);
    if ($mysql_query){
        $quantity = mysql_num_rows($mysql_query);
        $return_result = array();
        if($quantity>0){
            $rows = array();
            while ($row = mysql_fetch_assoc($mysql_query)) {
                $rows[] = $row;
            }
            $return_result = array("success"=> true,'count' => $quantity, 'rows'=> $rows);
            mysql_free_result($mysql_query);
        }
        else{
            $return_result = array("success"=> true,'count' => $quantity);
        }
    }
    else{
        $mysql_error = mysql_error($db_connection);
        $error_description = "Failed to execute the following SQL statement: $sql. mysql_error(): $mysql_error";

        $return_result = array("success"=> false);
    }        
    return $return_result ;
}

Я использую вышеупомянутую функцию здесь -

$post_categories = sql_select_many("SELECT * FROM `post_categories` where is_active=1", $connection)["rows"];

Может кто-нибудь помочь мнеопределить оператор (ы), которые несовместимы с php v5.3

ОБНОВЛЕНИЕ - Я не получаю какой-либо конкретной ошибки. Когда я запускаю скрипт, он показывает только «Страница не работает».

Ответы [ 2 ]

0 голосов
/ 01 октября 2019

Проблема в вызове этой функции. Следующие изменения работали для меня -

Следующая строка изменена -

$post_categories = sql_select_many("sql statement ", $connection)["rows"];

Я удалил ["rows"] из конца строки.

Новые операторы -

$post_categories = sql_select_many("sql statement ", $connection);
$data = $post_categories["rows"];
0 голосов
/ 30 сентября 2019

Большинство улучшений в PHP 5.5.x не влияют на существующий код. Есть несколько несовместимостей .

Обновление с 5.3 -> 5.4 содержит больше изменений, которые вы можете найти здесь: https://www.php.net/manual/en/migration54.incompatible.php

Это также значительно упростит нашу работу, если вы опубликуете фактические ошибки, которые вы получите,«Это не работает» - не очень хорошо описанная проблема.

...