PHP fetchAll (PDO :: FETCH_ASSOC) возвращает нуль в выражении

Я пытаюсь получить данные, вставленные в мою базу данных, используя PDO::FETCH_ASSOC,

по какой-то причине (вероятно, непонимание …) я не могу повторить данные из метода класса.

Это структура таблицы БД:
введите описание изображения здесь

Я хочу выполнить данные в виде ассоциативного массива $fieldName['value'] => $fieldVal['value']

У меня есть класс, который выбирает все данные из таблицы, сопоставляя tz а также year ценности.
из печати _r внутри функции я получаю хорошие данные.
Если я вызываю метод извне файла класса, я получаю все значения как нулевые.

Это мой код класса:

function dataExist($tz, $year){
$tz = 303748891;
$year = 2017;
$query = "SELECT * FROM ". $this->table_name ." WHERE tz = ? AND year = ?";

$stmt = $this->conn->prepare($query);

$stmt->bindParam(1, $tz);
$stmt->bindParam(2, $year);

// execute query
$stmt->execute();

//get all data
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);


echo '<pre>';
print_r( $result);
echo '</pre>';

return $result;


}

Это хороший результат, который я получаю в классе print_r,

Array
(
[0] => Array
(
[id] => 45
[tz] => 303748891
[fieldName] => tel
[fieldVal] => 0547
[year] => 2017
)

[1] => Array
(
[id] => 77
[tz] => 303748891
[fieldName] => fname
[fieldVal] => Jon
[year] => 2017
)

[2] => Array
(
[id] => 78
[tz] => 303748891
[fieldName] => lname
[fieldVal] => black
[year] => 2017
)

[3] => Array
(
[id] => 79
[tz] => 303748891
[fieldName] => tel
[fieldVal] => 5555-555-55
[year] => 2017
)

[4] => Array
(
[id] => 80
[tz] => 303748891
[fieldName] => mail
[fieldVal] => [email protected]
[year] => 2017
)

[5] => Array
(
[id] => 81
[tz] => 303748891
[fieldName] => fname
[fieldVal] => James
[year] => 2017
)

[6] => Array
(
[id] => 82
[tz] => 303748891
[fieldName] => lname
[fieldVal] => White
[year] => 2017
)

[7] => Array
(
[id] => 83
[tz] => 303748891
[fieldName] => tel
[fieldVal] => 6669-666-666
[year] => 2017
)

[8] => Array
(
[id] => 84
[tz] => 303748891
[fieldName] => mail
[fieldVal] => [email protected]
[year] => 2017
)

)

это это вызов из другого файла:

$dataExist = new Form($db);
$dataExist->dataExist($tz,$year);
echo '<pre>';
print_r( $dataExist);
echo '</pre>';

Я получаю это:

Form Object
(
[conn:Form:private] => PDO Object
(
)

[table_name:Form:private] => submisions
[id] =>
[tz] =>
[fieldName] =>
[fieldVal] =>
[year] =>
)

0

Решение

Вы не присваиваете результаты вызова вашего метода переменной. + Изменить

$dataExist->dataExist($tz,$year);

в

$thedata = $dataExist->dataExist($tz,$year);

затем

print_r($thedata);

и вы увидите, что вы ожидаете.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]