Невозможно использовать метод цепочки в MySQL - PullRequest
0 голосов
/ 10 мая 2018

Код выглядит довольно просто

$q = "SELECT COUNT(*) as 'total' FROM table";


// does not work
$total = $conn->query($q)->fetch_assoc()['total']; 



// works
$res1 = $conn->query($qcount_no_admin);
$row1 = $res1->fetch_assoc();
$total = $row1['total'];

Я получаю ошибку 500 (на данный момент я не могу показать ошибки, мне нужно поговорить с хостом).

Возможен ли этот тип цепочки методов в php mysqli?

1 Ответ

0 голосов
/ 10 мая 2018

Этот синтаксис должен нормально работать , начиная с PHP 5.4 .

Недостающий элемент в более ранних версиях - это не сама цепочка, а просто возможность разыменования массива, возвращаемого функцией / методом. Это известно как разыменование функционального массива и позволяет вам делать такие вещи, как:

function foo() { return ['Hello']; }
echo foo()[0]; // Hello

Для более ранних версий вам просто нужно присвоить временную переменную:

function foo() { return ['Hello']; }
$result = foo();
echo $result[0]; // Hello
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...