проблемы с mysqli

287
13 сентября 2018, 08:20

На третьем запросе UPDATE пишет ошибку. Как решить эту проблему. Раньше работал с простым mysql и с такими трудностями не встречался.

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in (мой файл)

$mysqli = mysqli_connect('localhost','root','pass','db');
//первый запрос 
$q = mysqli_query($mysqli, 'SELECT * FROM `test1`');//запрос для примера
//второй запрос 
$q = mysqli_query($mysqli, 'SELECT * FROM `test2`');//запрос для примера
//третий запрос 
$q = mysqli_query($mysqli, 'UPDATE `test` SET `text'="simple text" WHERE id=1);//запрос для примера
if(isset($key)){
            $q = $mysqli->query("SELECT * FROM keys1 WHERE key1='$key'");
            $config = $mysqli->query("SELECT * FROM config WHERE name='download_version'");
            $config = $config->fetch_array();
            if($q->num_rows){
                $row = $q->fetch_array();

                ##VERSION
                if($config['value']!=$version){
                    $link = $mysqli->query("SELECT * FROM config WHERE name='download_link'");// тут ошибка Call to a member function query() on null
                    $r = $link->fetch_array();
                    die('[ERROR] Download new version. '.$r['value']);
                }
                ##FIRST ACTIVE
                if($row['activ']==0){
                    $date1 = date_create($date);
                    date_add($date1, date_interval_create_from_date_string($row['set_disable']));
                    $date_disable = date_format($date1, 'Y-m-d');
                    $mysqli->query(
                        "UPDATE keys1 SET
                        date_activ='$date',
                        time_activ='$time',
                        date_disable='$date_disable',
                        date_using='$date',
                        time_using='$time',
                        version='$version',
                        build='$build',
                        runningApp=runningApp+1,
                        cominform='$ComInform',
                        ip='$ip',
                        activ=1
                        WHERE `key1`='$key'");
                }
Answer 1

Выход из этой ситуации использовать Объектно-ориентированный стиль, по крайней мере мне помог именно он. Спасибо @Manitikyl, за советы.

$mysqli_connect = new mysqli('localhost','root','pass','db'); $result = $mysqli_connect->query("SELECT * FROM test")->fetch_array(); echo $result['test_value'];

Answer 2

В третьем запросе ошибка синтаксиса обратите внимание на SET `text'=

$q = mysqli_query($mysqli, 'UPDATE `test` SET `text'="simple text" WHERE id=1);
READ ALSO
Отличия некоторых способов вывода в php

Отличия некоторых способов вывода в php

Никак не могу найти, а в чем отличие STDOUT и echo? И что надо использовать, если требуется вывести данные в стандартный поток вывода? Например,...

161
Что делает данный PHP код?

Что делает данный PHP код?

Только начинаю изучать PHPВопрос: Почему условие срабатывает и код выводит строки $value1 и $value2

210
Vesta. Create user. API. Не добавляется пользователь

Vesta. Create user. API. Не добавляется пользователь

Пишу скрипт для добавление нового пользователя в панель управления хостингом "VESTA"Пишу согласно мануалу по api: http://vestacp

159