У меня есть форма, которая извлекает данные из базы данных (в частности, mysql) и эхо-данные в секцию значений тегов <input>
. Кажется, что это не работает. Я закодировал раздел просмотра моего веб-сайта, чтобы сделать то же самое, но из другой таблицы в моей базе данных. Я использую тот же код, чтобы сделать изменения легко и если другой разработчик работает на моем сайте в будущем. В любом случае, похоже, что это не работает. Я не знаю, почему.
Полная ошибка, которую я получаю:
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/caseol5/public_html/jj/admin/news_update.php on line 9
Вот строка 9, на которую ссылается ошибка:
$result = mysqli_query($link,$sql);
Я знаю, что обе эти функции не являются нулевыми, как и я:
echo $link echo $sql
перед этой строкой после того, как я начал сталкиваться с ошибкой, и оба они не равны нулю.
Вот полный сегмент кода:
$nid = $_GET['nid']; include ("../sql/dbConnect.php"); $sql = "SELECT * FROM jj_news WHERE news_id = $nid"; echo "<p>The SQL Command: $sql </p>"; echo "<p>Link: $link </p>"; $result = mysqli_query($link,$sql); if (!$result) { echo "<h1>You have encountered a problem with the update.</h1>"; die( "<h2>" . mysqli_error($link) . "</h2>") ; } $row = mysqli_fetch_array($result); $ntitle = $row['news_title']; $ntline = $row['news_titleline']; $ndesc = $row['news_desc']; $nother = $row['news_other'];
Я заглянул в mysqli_query, и я не могу найти что-то, что мне не хватает. Я также устал нарушать код (и работает его части, и он дает ту же ошибку.Я думаю, это что-то маленькое, что я пропустил.Я посмотрел на другой вопрос на этом сайте, которые делают это немного похоже, но нет похоже, помогает. Я смотрел на это какое-то время и нуждаюсь в еще одной паре глаз.
Обновить
Как запрошено содержимое моего файла dbconnect.php
:
$hostname = "localhost"; $username = "caseol5_jjoes"; $database = "caseol5_jj_site"; $password = "password1"; $link = mysqli_connect($hostname, $username, $password, $database); $link = mysqli_connect($hostname,$username,$password,$database) or die("Error " . mysqli_error($link)); if (!$link) { echo "We have a problem!"; }
Как ясно указано в сообщении об ошибке, docs mysqli_query
ожидает, что первым параметром будет ресурс mysqli
. В вашем случае этот параметр называется $link
но он содержит null
значение. Правильный ресурс mysqli
обычно получается при подключении к базе данных с использованием документов mysqli_connect
Я ожидаю, что файл ../sql/dbConnect.php
содержит логику для подключения к базе данных. Проверьте, действительно ли инициализирована переменная $link
. Если его там нет, попробуйте найти появление mysqli_connect
– возможно, ресурс настроен на другую переменную.
Не зная, что именно находится в ../sql/dbConnect.php
, ваша проблема прямо сейчас заключается в том, что у вас нет допустимого ресурса mysqli для использования для mysqli_query
.