Intereting Posts

Не удается получить доступ к данным 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; как объект