Intereting Posts
рассчитать диапазон IP, используя PHP и CIDR Чистые ссылки на PHP-сгенерированный JavaScript и CSS Получите широту и долготу всего местоположения, которые находятся в радиусе 10 км от моего текущего местоположения с помощью карты google (с использованием PHP) Как сервер может проверять запросы ajax не с сайта, X-Requested-With Datetime в PHP Script PHPMailer не отправляет CC или BCC Создание образа PHP из шестнадцатеричных значений в базе данных Проверьте, совпадает ли текущая дата между двумя датами + mysql select query Как вызвать конструктор с помощью call_user_func_array в PHP Получить общую доступную системную память с помощью PHP в Windows В чем разница между консервативным кешированием и прогрессивным кешированием в joomla 2.5? Смешивание столбцов GROUP (MIN (), MAX (), COUNT (), …) без столбцов GROUP является незаконным, если нет предложения GROUP BY Упаковка, кеширование, JS и CSS в PHP, которые различают среду разработки и производства Twig и Symfony2 – сущность не найдена как преобразовать файл php в файл PDF

Не удается получить доступ к данным SQL за пределами моего цикла while

Когда я сохраняю результат SQL-запроса в переменной (в коде в $ test2), переменная пуста вне цикла while. Зачем?

Обычно определение varibales внутри этого цикла работает (см. $ Test1). И SQL-запрос работает тоже.

$connection = new mysqli($servername,$username,$password,$dbname) or die("Error: " . mysqli_error($connection)); $query = "SELECT * FROM Table ORDER BY `id` ASC"; $result = mysqli_query($connection, $query); while($row = mysqli_fetch_object($result)) { $test1 = "some text"; $test2 = $row->id; echo $row->id // Output is the id -> works } echo $test1; // Output is "some text" -> works echo $test2; // Output is nothing -> doesn't work. Why? 

Вы заменяете переменные в каждой итерации цикла. Сохраните их все в массив и посмотрите на результаты:

 while($row = mysqli_fetch_object($result)) { $test1[] = "some text"; $test2[] = $row->id; echo $row->id // Output is the id -> works } print_r($test1); print_r($test2); 

$row = mysqli_fetch_array($result) возвращает массив

и вы используете $test2 = $row->id; как объект