Как уже говорили все остальные ответы, это часть синтаксиса функции ES2015. Точнее, это не оператор, это токен, который отделяет параметры от тела: ArrowFunction : ArrowParameters => ConciseBody
. Например. (params) => { /* body */ }
.
У вас была небольшая проблема синтаксиса, а именно ошибочная полуточка.
while($row = $result->fetch_row());
Обратите внимание на запятую в конце? Это означает, что следующий цикл не выполнялся в цикле. Избавьтесь от этого, и он должен работать.
Также вы можете проверить, действительно ли работает запрос:
$sql = new mysqli($config['host'], $config['user'], $config['pass'], $config['db_name']);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit;
}
$query = "SELECT domain FROM services";
$result = $sql->query($query);
if (!$result) {
printf("Query failed: %s\n", $mysqli->error);
exit;
}
while($row = $result->fetch_row()) {
$rows[]=$row;
}
$result->close();
$sql->close();
return $rows;