Я пытаюсь запустить mySQL-запрос, который заполняет форму HTML, где я представляю тег. Я хотел бы заполнить как значение, так и текст из таблицы mySQL. Вот что я пробовал, основываясь на поиске вещей на разных веб-сайтах, и это не сработало
<select name="id"> <?php require_once dirname(__FILE__) . '/db_connect.php'; $db = new DB_CONNECT(); $query="SELECT id, name FROM file order by name"; $result=mysql_query($query) or die ("Query to get data from firsttable failed: " .mysql_error()); while ($row = mysql_fetch_array($result)) { $id = $row[id]; $name =$row[name]; echo "<option value=\"$id\"> $name </option>"; } ?> </select>
Комментарий: Не работает, ссылается на то, что выпадающее меню выбрано пустым. Я вытащил PHP из формы и поместил его в свой собственный файл name.php, чтобы попытаться запустить его. он работал. Поэтому я добавил выражения echo в php, чтобы вывести начало и конец формы и начальную строку выбора. Это работало просто отлично, никаких проблем, падение было заселено просто отлично. Вернувшись в HTML-форму выше, я добавил несколько других выражений эха в PHP для вывода некоторых отладочных инструкций. Первое echo всегда игнорируется, оно не добавляет элемент select. другие эхо-строки только добавляют указанный текст, переменные выводятся как имя переменной, а не контент. поэтому в раскрывающемся списке выберите $ name.
Вам нужно указать одинарные кавычки вокруг имени и имени. То есть вам нужно заменить это
$id = $row[id]; $name =$row[name];
этим
$id = $row['id']; $name =$row['name'];
не зная, что находится в DB_CONNECT, и какова ваша ошибка, это мое лучшее предположение о том, что не так.