У меня проблема с преобразованием результатов запроса mysqli в переменные, которые я могу заполнить текстовыми областями. Я пытаюсь найти примеры этого по всему Интернету, и я не могу найти что-то, что разрешает мою проблему.
Мой последний проект в этих строках использовал mysql, а не mysqli, поэтому он не совсем то же самое, плюс мой проект достаточно разнообразен, чтобы не допускать копирование-вставку кода.
Я пытаюсь установить соединение с базой данных, извлекать информацию, используемую в элементе post в качестве элемента поиска, и заполнять текстовые поля результатами. Я еще не получил возможность изменять содержимое текстовых областей, так как мне не удалось выяснить, как вернуть значение, которое я могу добавить в переменную / массив.
Я не очень разбираюсь в PHP, поэтому я не знаю, что происходит внутри и вне языка. Любая помощь будет высоко оценена.
Код указан ниже:
<html> <head></head> <script language="javascript" type="text/javascript"> function populateForm(jack) { document.getElementById('id_cubenum').value = jack; document.getElementById('id_firstname').value = resultArray[1]; document.getElementById('id_lastname').value = resultArray[2]; document.getElementById('id_username').value = resultArray[3]; } </script> <body> <form> ID: <input type="text" name="elem_cubenum" id="id_cubenum" maxlength="3" size="25" disabled><br> <br> First Name: <br> <input type="text" name="elem_firstname" id="id_firstname"><br> Last Name: <br> <input type="text" name="elem_lastname" id="id_lastname"><br> Username: <br> <input type="text" name="elem_username" id="id_username" maxlength="8" size="8"> <br><br> <hr> Department:<br> <select name="elem_dept" id="id_dept"> <option value="a">A</option> <option value="d">D</option> <option value="r">R</option> <option value="m">M</option> <option value="o">O</option> </select><br><br> <hr> Machine Name: <br> <input type="text" name="elem_machname" id="id_machname" maxlength="16"><br> Machine Inv#: <br> <input type="text" name="elem_machnum" id="id_machnum" maxlength="5"><br> Monitor Inv#: <br> <input type="text" name="elem_monnum" id="id_monnum" maxlength="5"><br><br> <hr> Operating System:<br> <select name="elem_os" id="id_os"> <option value="winxp">Windows XP</option> <option value="win7">Windows 7</option> <option value="other">Other</option> </select> <br><hr> </form> <?php $dbhost = "xxxxxxxxxxx"; $dbname = "xxxxxxxxxxx"; $dbuser = "xxxxxxxxxxx"; $dbpass = "xxxxxxxxxxx"; $p_getJack = $_POST['elem_seatNum']; $conn = mysqli_connect($dbhost,$dbuser,$dbpass,$dbnme); $query = "SELECT * FROM locations WHERE locateid = '$p_getJack'"; echo '<img src="check.jpg" alt="Database Connection Made">' . 'Connection to the server was successfully made. <br>Jack Number: ' . $p_getJack . '<br><hr><br>'; if (mysqli_connect_errno()) { echo "Failed to connect! " . mysqli_connect_error(); } $result = mysqli_query($conn, $query); $row = mysqli_fetch_assoc($result); printf("The results of %u and %s are listed.",$row["firstname"],$row["username"]); mysqli_close($conn); ?> </body> </html>
Это результат:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in /home/a7060806/public_html/form.php on line 66
Любые идеи о том, что я делаю неправильно здесь …? Я знаю, что информация о подключении верна, потому что она скопирована с предыдущей страницы, и она отлично работает.