Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
20 / 9 / 3
Регистрация: 02.04.2015
Сообщений: 558
1

Проблема в синтаксисе скрипта при смене версии пхп

18.12.2019, 20:56. Показов 470. Ответов 4
Метки нет (Все метки)

Приветствую!
Есть такой вот пхп код, работает он исправно на версии пхп 5.2, но перешел я на другую версию пхп 7.1, там отсутствует потдержка mysql, есть только mysqli
в данном скрипте я заменил везде в функциях
с mysql на mysqli

но скрипт всеровно не работает, добавил в скрипт вывод ошибок.
PHP
1
2
3
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);


Показывает что есть такие ошибки!


Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in внизу строка из кода в которой ошибка
mysqli_select_db('currency', $db);

Warning: mysqli_query() expects at least 2 parameters, 1 given in внизу строка из кода в которой ошибка
$result = mysqli_query('SELECT distinct cur FROM currencies');

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in внизу строка из кода в которой ошибка
while ($row = mysqli_fetch_assoc($result)) {

Notice: Undefined index: EUR in внизу строка из кода в которой ошибка
if (!$res[default_value]) {



Помогите поправить синтаксис в скрипте пожалуйста.





PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
$db = mysqli_connect('localhost', 'currency', '12345');
if (!$db) {
    die('Ошибка соединения: ' . mysqli_error());
}
 
mysqli_select_db('currency', $db);
 
function updateCurrencies($values) {
    // print_r($values);
    $result = mysqli_query('SELECT `cur` FROM currencies');
    $curs = array();
    
 
    
    // echo $result;
    while ($row = mysqli_fetch_assoc($result)) {
        $curs[] = $row['cur'];
    }
    
    $now = date("Y-m-d H:i:s");
        
    foreach ($values as $value) {
        $cur = str_replace(default_value, "", $value->t);
        $q = "INSERT INTO currencies (cur, value, dtime) VALUES ('{$cur}', '{$value->l}', '{$now}')";
        mysqli_query($q);
    }
}
 
function getCurrencies($date = "") {
    $result = mysqli_query('SELECT distinct cur FROM currencies');
    $curs = array();
    while ($row = mysqli_fetch_assoc($result)) {
        $curs[] = $row['cur'];
    }
    
    $lasttime = 0;
    $res = array();
    foreach ($curs as $cur) {
        if ($date != "") {
            $result = mysqli_query("SELECT * FROM currencies WHERE `cur` = '{$cur}' AND dtime <= '{$date}' ORDER BY dtime DESC LIMIT 1");
        }
 
        if ($date == "" || !mysqli_num_rows($result))
            $result = mysqli_query("SELECT * FROM currencies WHERE `cur` = '{$cur}' ORDER BY dtime DESC LIMIT 1");
            
        while ($row = mysqli_fetch_assoc($result)) {
            $res[$row['cur']] = $row;
            $lasttime = $row['dtime'];
        }
    }
    
    // Валюта по умолчанию
    if (!$res[default_value]) {
        $res[default_value] = array(
            'cur' => default_value,
            'value' => 1,
            'dtime' => $lasttime
        );
    }
    
    return $res;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2019, 20:56
Ответы с готовыми решениями:

Ошибка при смене версии MVS
Все 3 ошибки указывают на одну строку. Ошибки: error CS1043: { or ; expected error CS1513: }...

Ошибки при смене версии Magento
Здравствуйте! При смене версии Magento с 1.9.3 на 1.9.4 модуль оплаты начинает выкидывать кони:...

Сложности с проектом при смене версии студии
Всем большой привет! Столкнулся с проблемами при смене версии студии 2012 на 2013. Дома оставил...

Апгрейд пользовательских настроек при смене версии .NET
Всем привет, столкнулся с такой проблемой: в существующем проекте на WPF необходимо было...

4
Эксперт PHP
2988 / 2506 / 1182
Регистрация: 14.05.2014
Сообщений: 7,076
Записей в блоге: 1
18.12.2019, 21:35 2
Цитата Сообщение от serauto79 Посмотреть сообщение
PHP
1
mysqli_select_db('currency', $db);
Цитата Сообщение от serauto79 Посмотреть сообщение
Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given
Переводим и видим, что параметры переданы не в том порядке.
PHP
1
mysqli_select_db($db, 'currency');
0
20 / 9 / 3
Регистрация: 02.04.2015
Сообщений: 558
18.12.2019, 22:16  [ТС] 3
Kerry_Jr
ок, с перво ошибкой понятно, а с этими как быть


Warning: mysqli_query() expects at least 2 parameters, 1 given in внизу строка из кода в которой ошибка
$result = mysqli_query('SELECT distinct cur FROM currencies');

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in внизу строка из кода в которой ошибка
while ($row = mysqli_fetch_assoc($result)) {

Notice: Undefined index: EUR in внизу строка из кода в которой ошибка
if (!$res[default_value]) {

Добавлено через 18 минут
Warning: mysqli_query() expects at least 2 parameters, 1 given in внизу строка из кода в которой ошибка
$result = mysqli_query('SELECT distinct cur FROM currencies');


переделал строку так, всеровно ошибка


$result = mysqli_query($db, 'SELECT distinct cur FROM currencies');

Добавлено через 2 минуты
вот перевод

Предупреждение: mysqli_query () ожидает как минимум 2 параметра, 1 из которых указан

один указан, хорошо
SELECT distinct cur FROM currencies


а какой второй параметр не указан я хер понять могу.

Добавлено через 4 минуты
если так сформулировать строку

$result = mysqli_query($db, "SELECT distinct cur FROM currencies");

то кидает 2 ошибки!

Notice: Undefined variable: db
Warning: mysqli_query() expects parameter 1 to be mysqli, null given
0
Эксперт PHP
2988 / 2506 / 1182
Регистрация: 14.05.2014
Сообщений: 7,076
Записей в блоге: 1
18.12.2019, 22:42 4
Цитата Сообщение от serauto79 Посмотреть сообщение
Notice: Undefined variable: db
Warning: mysqli_query() expects parameter 1 to be mysqli, null given
Внутри функции глобальные переменные не видны. Передайте в функцию вторым параметром $db.
1
20 / 9 / 3
Регистрация: 02.04.2015
Сообщений: 558
19.12.2019, 00:50  [ТС] 5
сделал так
$result = mysqli_query('SELECT distinct cur FROM currencies', $db);


ошибки....
Notice: Undefined variable: db in
Warning: mysqli_query() expects parameter 1 to be mysqli, string given in

Добавлено через 2 часа 2 минуты
мож кому пригодится, вот так решил вопрос

$result = mysqli_query($GLOBALS['db'], 'SELECT distinct cur FROM currencies');


Kerry_Jr, спасибо за наводку на (Внутри функции глобальные переменные не видны.)

Добавлено через 38 секунд
мож кому пригодится, вот так решил вопрос

$result = mysqli_query($GLOBALS['db'], 'SELECT distinct cur FROM currencies');


Kerry_Jr, спасибо за наводку на (Внутри функции глобальные переменные не видны.)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2019, 00:50

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Проблема с циклом при смене родителя 1с77
Здравствуйте. Есть обработка. Фрагмент кода для наглядности приведен ниже. Суть обработки - это...

Проблема с переносом библиотек при смене конфигурации сборки
При добавлении в проект сторонних dll все библиотеки добавляются в Debug (папка). Однако при смене...

Проблема при смене пароля входа в сеть WI-FI роутера DIR-615
Не получается сменить пароль входа в сеть WI-FI роутера DIR-615. При смене пароля после нажатия...

Проблема при написании скрипта
Не работают команды юнити. К примеру обычно пр написании скрипта в visual studio, выделяются такие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.