#php #html #mysql
#php #HTML #mysql
Вопрос:
Я использую php для загрузки данных в базу данных и использую php для отображения данных из базы данных.
В приведенном ниже скрипте я использую php для отображения всего содержимого из базы данных. Каждая строка в таблице базы данных будет отображаться в <div>
элементе, а <p>
элемент используется для хранения каждого столбца в строке.
Но скрипт на самом деле никогда не запускается! Я обнаружил, что ошибка связана с символом >
в конце каждого тега в echo
инструкции, например:
>
В инструкции echo "<div class="post">";
если я удалю этот >
символ, то следующий >
вызовет ту же проблему.
Вначале я думал, что это из-за кавычек, но я попробовал «вместо «» в инструкции echo, но у меня все еще была та же проблема. Итак, как именно использовать HTML-тег в коде php?
Я думаю, что здесь возникает некоторое недопонимание.
Это полный скрипт:
<div class="dashboardA">
<?php
$con = mysqli_connect("localhost", "Dave", "password");
if (!$con){
die ("Could not connect to database: " . mysqli_connect_error());
}
mysqli_select_db($con, "snippet");
$sql = mysqli_query($con, "select * from persons");
while ($data=mysqli_fetch_array("$sql")){
echo "<div class="post">";
echo "<p>"; echo $data["FirstName"]; echo "</p>";
echo "</div>";
}
?>
</div>
ВЫВОД
'; echo "
" . $data["FirstName"] . "
"; echo "
"; } ?>
Комментарии:
1. вы должны экранировать кавычки doule («) внутри ваших html-строк. Например: echo «<div class=»post»>»; должно стать echo «<div class=»post»>»; ИЛИ echo ‘<div class=»post»>’;
2. Измените
echo "<div class="post">";
наecho "<div class="post">";
илиecho "<div class='post'>";
3. Я надеюсь, что ваш пароль не «password»
4. @Strawberry ах, это всего лишь тестовая база данных, так что… 🙂 вы знаете 🙂 с использованием сервера wamp
5. в чем разница между
echo "<div class='post'>"
иecho '<div class="post">';
??
Ответ №1:
Пожалуйста, попробуйте это:
while ($data=mysqli_fetch_array($sql)){
echo '<div class="post">';
echo '<p>' . $data["FirstName"] . '</p>';
echo '</div>';
}
Будьте осторожны с кавычками и используйте символ точки для объединения строк.
Ответ №2:
Попробуйте использовать
while ($data=mysqli_fetch_array("$sql")){
echo "<div class="post">";
echo "<p>"; echo $data["FirstName"]; echo "</p>";
echo "</div>";
}
Обратите внимание, что при изменении не использовался ‘class=»post»>’, вам лучше использовать ‘ class= «post»> ‘.
Это настолько просто, что то, как вы это сделали, вы просто взяли слово «post» из строки echo знаком » » вы отмечаете знаки «» ‘ как часть строки.
Надеюсь, я смог помочь и решить проблему, мир.
Вы попробовали то, что я написал? Это должно сработать на самом деле.
Комментарии:
1. Как насчет изменения ‘ echo «<p>»; echo $data[«FirstName»]; echo «</p>»; ‘ на это: echo «<p>» . $data[«FirstName»] . «</p>»;
2. нет, это не работает. Я уже пробовал это. Проблема исходит от этого персонажа
>
, дело не в кавычках …3. Я использовал view page source в Chrome, и я вижу 2 разных цвета в блоке php. Это означает, что в блоке php есть некоторые синтаксические ошибки, но я просто не знаю, как это вообще исправить. Я новичок в php…
4. Тогда я не знаю, может ли это помочь, но замените «>» на «amp; >». Это обычная HTML-кодировка для знака «>». Другим было бы «<«. Ска жите мне, работает ли это
5. ну, на веб-странице ничего не отображается… Спасибо за вашу помощь anw 🙂