Добрый день.
Не удается разобраться в причинах, почему ничего не выводит программа.
Понимаю для тех, кто именно программирует это (надеюсь) очевидная и простая проблема, которую помогут решить.
На вебсервере крутится сайт. На всякий случай вводные: php 8.1, wp 6.3.2.
Для удобства работаю в PhpStorm 2022.3.3
Пытаюсь учиться php с помощью учебника "Дэвид Скляр Изучаем РНР 7 Руководство"
Простое что то выводится, аля текст переданный формой, но запросы с БД (если поисковые данные верны) просто ничего не выводят (белая страница)
Есть пример:
- Форма на html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Кнопка</title>
</head>
<body>
<form method="POST" action="/php/reports.php">
Имя юзера: <input type="text" name="quiz_name"/>
<br/>
<br/>
<button type="submit">Сформировать</button>
</form>
</body>
</html>
- Сама программа:
<?php
$db = new mysqli("localhost", "realbasename", "realpass");
// определяю значения логинов которые можно принять с формы
$quizname = array('mfc_lan','hhuser','lomakinada','svetlakovaos');
// проверяю, содержит ли параметр переданной на обработку формы одно из строковых значений
if (in_array($_POST['quiz_name'], $quizname)) {
// Если данный параметр содержит указанное значение, вывести данные с
$stmt = $db->prepare('SELECT user_login,user_email FROM wp_users WHERE wp_users.user_nicename LIKE ?');
$stmt->execute(array($_POST['quiz_name']));
$rows = $stmt->fetchAll();
// Если искомое не обнаружено, сообщить от этом
if (count($rows) == 0) {
print "Данных нет или неверный поисковый запрос";
} else {
// вывести на экран каждого юзера имя и почту в отдельной строке HTML-таблицы
print '<table><tr><th>имя</th><th>почту</th></tr>';
foreach ($rows as $row) {
print "<tr><td>$row[0]</td><td>$row[1]</td></tr>";
}
print "</table>";
}
} else {
// Это сообщение выводится на экран в том случае, если параметр переданной на обработку формы не содержит ни одно из строковых значений
print "Данных нет или неверный поисковый запрос (параметр не содержит)";
}
Если на форме передаю значение которого нет в допустимых ($quizname) - то текст ошибки выводится на экран, но если на форме передаю значение которое есть - пусто. Пробовал убрать громоздкую "таблицу", и вместо неё хотя бы сигнал об успешности типа "print "Нашлось, работает";" - та же петрушка.
К БД подключается успешно.
За ранее благодарен.