Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 1
Регистрация: 23.05.2017
Сообщений: 39

Почему я получаю пустой массив?

17.05.2018, 16:12. Показов 1110. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Не могу понять. Почему я получаю пустой массив?
Не важно как $data_bd=date("Y-m-d"); или $data_bd='2018-05-17'; все равно приходит 0.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$data_bd='2018-05-15';
?> 
<?php
function get_table_s1($connect){
$query = mysqli_query($connect, "SELECT * FROM `u20a` WHERE `data` ='".$data_bd."'");
 
$table_s1 = array();
while ($row = mysqli_fetch_assoc($query)) {
$table_s1[] = $row;
}
return $table_s1;
}
$table_s1=get_table_s1($connect);
?>

А вот если так но все нормально.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
function get_table_s1($connect){
$query = mysqli_query($connect, "SELECT * FROM `u20a` WHERE `data` ='2018-05-15'");
 
$table_s1 = array();
while ($row = mysqli_fetch_assoc($query)) {
$table_s1[] = $row;
}
return $table_s1;
}
$table_s1=get_table_s1($connect);
?>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.05.2018, 16:12
Ответы с готовыми решениями:

Массив: Почему при сравнении двух одинаковых объектов я получаю false?
var a = ; var b = ; console.log(a); // console.log(b); // console.log(typeof a); //object console.log(typeof b); //object ...

aspupload, получаю пустой стринг
pereslat parametri: 1.asp: &lt;form action='2.asp' method='post' enctype='multipart/form-data'&gt; &lt;input name='test'&gt; &lt;input type=file...

Почему возвращается пустой массив
function range(start, end) { let resultMassive = ; for(let i = start; i&lt;=end;i++) { ...

11
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
17.05.2018, 16:25
А как переменная $data_bd в функцию попадёт? Может так:
PHP
1
2
3
4
<?php
function get_table_s1($connect){
$data_bd='2018-05-15';
$query = mysqli_query($connect, "SELECT * FROM `u20a` WHERE `data` ='".$data_bd."'");
Или так:
PHP
1
2
3
4
5
6
<?php
$data_bd='2018-05-15';
?> 
<?php
function get_table_s1($connect,$data_bd){
$query = mysqli_query($connect, "SELECT * FROM `u20a` WHERE `data` ='".$data_bd."'");
1
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
17.05.2018, 17:22
И в 11 строке
Цитата Сообщение от PiVASi Посмотреть сообщение
$table_s1=get_table_s1($connect, $date_db);
1
1 / 1 / 1
Регистрация: 23.05.2017
Сообщений: 39
17.05.2018, 20:10  [ТС]
sasha0012, Torovich, Спасибо за разъяснение.

Добавлено через 1 час 54 минуты
Так, я понял что $data_bd не попадает в функцию. Но добавив так я получаю Warning: Missing argument 2 for get_table_s1(), called in Это почему так?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
data_bd='2018-05-17';
 
function get_table_s1($connect, data_bd){
$query = mysqli_query($connect, "SELECT * FROM `u20a` WHERE `data` ='".$data_bd."'");
 
$table_s1 = array();
while ($row = mysqli_fetch_assoc($query)) {
$table_s1[] = $row;
}
return $table_s1;
}
$table_s1=get_table_s1($connect, data_bd);
?>
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
17.05.2018, 20:37
Цитата Сообщение от PiVASi Посмотреть сообщение
data_bd
Константа объявляется так:
PHP
1
define("data_bd","2018-05-17");
а переменная так:
PHP
1
$data_bd='2018-05-17';
1
1 / 1 / 1
Регистрация: 23.05.2017
Сообщений: 39
17.05.2018, 21:49  [ТС]
Всем спасибо. За варианты но что-то я не смог реализовать ваши коды. Оказалось все просто добавил 2 globa переменные и все заработало. И получилось еще даже проше.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
require_once 'app/peremens/control.php';
?>    
<?php
    //Запрос вывода всей таблицы для первой смены
    function get_table_s1(){
        
        global $connect;
        global $data_bd;
        
        $query = mysqli_query($connect, "SELECT * FROM `u20a` WHERE `data` ='".$data_bd."'");
                
        $table_s1 = array();
                while ($row = mysqli_fetch_assoc($query)) {
                   $table_s1[] = $row;
                }
        return $table_s1;
    }
 
?>
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
18.05.2018, 08:20
Цитата Сообщение от PiVASi Посмотреть сообщение
И получилось еще даже проше
Это вам кажется, на самом деле тут совершенно не правильно с точки зрения архитектуры.
Даже в простых проектах переменных типа $data_bd может быть тысячи, миллионы. Это приведет к хаосу. Вы не сможете контролировать какие данные в этих переменных, кто их туда записал и есть ли они там вообще.
0
1 / 1 / 1
Регистрация: 23.05.2017
Сообщений: 39
18.05.2018, 14:26  [ТС]
Что тут не так?

В строке http://test/del.php?del_id=188

PHP
1
2
3
4
if (isset($_GET['del_id'])) {
            $sql="DELETE FROM `u20a` WHERE `id`= '".$_GET['del_id']."'";
            $query = mysql_query ($connect,$sql);
        }
получаю ошибку Warning: mysql_query() expects parameter 1 to be string, object given in D:\Server\OSPanel\domains\TEST\del.php on line 3
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
18.05.2018, 14:29
Функция же начинается на mysql_, а не на mysqli_. По-моему, заметно должно быть.
0
1 / 1 / 1
Регистрация: 23.05.2017
Сообщений: 39
18.05.2018, 16:37  [ТС]
Цитата Сообщение от Para bellum Посмотреть сообщение
Функция же начинается на mysql_, а не на mysqli_. По-моему, заметно должно быть.
Опечатка, такая же песня. Не работает.
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in D:\Server\OSPanel\domains\TEST\del.php on line 6

PHP
1
2
3
4
5
6
if (isset($_GET['del_id'])) {
            $sql="DELETE FROM `u20a` WHERE `id`= '".$_GET['del_id']."'";
            $query = mysqli_query ($connect,$sql);
            print_r($_GET['del_id']);
            
        }
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
18.05.2018, 16:45
Цитата Сообщение от PiVASi Посмотреть сообщение
такая же песня
Не такая. Ошибка совсем другая же. В $connect должна быть ссылка на mysqli-объект, а его там нет.
0
1 / 1 / 1
Регистрация: 23.05.2017
Сообщений: 39
18.05.2018, 17:02  [ТС]
Para bellum,
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// Подключение в базе
        $connect = mysqli_connect('localhost','root','','log');
        
        if(!$connect)
            {
            echo 'Error data base!!!!('.mysqli_connect_errno().'): '.mysqli_connect_errno();
            exit();
            }
 
        if (isset($_GET['del_id'])) {
            $sql="DELETE FROM `u20a` WHERE `id`= '".$_GET['del_id']."'";
            $query = mysqli_query ($connect,$sql);
        }
 
?>


Добавлено через 5 минут
Разобрался. Спасибо заработало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.05.2018, 17:02
Помогаю со студенческими работами здесь

Почему в качестве параметра метода main() мы передаём пустой строчный массив?
Добрый Вечер!!! Скажите Пожалуйста, почему в качестве параметра метода main() мы передаём пустой строчный массив?

Почему получаю ошибку
Добрый день ! Почему в строке name = reader.readLine(); получаю ошибку ? import java.util.*; import java.lang.*; ...

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

Enum - почему на выходе получаю 0, а не 1 ?
начал писать на шарпе, вот появился вопрос есть перечисление enum days { one=1, two, ...

sprintf(s, "=%g=", (double) 1.5) -> получаю "==", почему?
вот эта функция: char* get_battery_message(void){ char s; sprymtf(s, &quot;=%g=&quot;, (double) 1.5); return s; } возвращает два...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru