Я ОЧЕНЬ новичок в SQL, у меня есть таблица с именем «account». Я хочу отобразить всю информацию об учетной записи в таблице HTML, я пробовал это, но это не сработало? (Есть правильные теги вокруг кода PHP)
<?php
$query="SELECT * FROM acccounts";
$results = mysql_query($query);
while ($row = mysql_fetch_array($results)) {
echo '<tr>';
foreach($row as $field) {
echo '<td>' . htmlspecialchars($field) . '</td>';
}
echo '</tr>';
}
?>
Я думаю, что проблема довольно очевидна; Вы либо не подключились к своей базе данных, либо ваша система не позволяет использовать mysql_
API.
Или вы пытались соединиться с mysqli_
или другой API (который неизвестен). Если это так; эти разные API MySQL не смешиваются.
С использованием mysqli_
API на моей машине дал результаты:
Замените следующее своими учетными данными:
<?php
ini_set("display_startup_errors", 1);
ini_set("display_errors", 1);
$connect = mysqli_connect("your_host", "user", "pass", "db");
if (!$connect) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
$query="SELECT * FROM acccounts";
$results = mysqli_query($connect, $query);
if($results){
while ($row = mysqli_fetch_array($results)) {
echo '<tr>';
foreach($row as $field) {
echo '<td>' . htmlspecialchars($field) . '</td>';
}
echo '</tr>';
}
}
else{
echo "Your query failed: " . mysqli_error($connect);
}
Проверьте на ошибки в запросе и через PHP.
Рекомендации:
Замечания: Даже без <table></table>
теги, он все равно будет давать результаты, по успешному запросу.
http://localhost
в отличие от file:///
, если это так.Другая ссылка:
Несколько вещей, во-первых, вам нужно подключиться к базе данных с именем экземпляра sql, uid и passwd,
во-вторых
Ваш запрос должен быть mysqli_query($connection, $query)
т.е.
$servername = 'yourinstance\sqlexpress';
$conndetails = ["Database" => "databasename", "UID" => 'loginid', "PWD" =>'passwd'];
$sqlconn = mysqli_connect($servername, $conndetails);
$query = "Select blah blah";
$query2 = mysqli_query($sqlconn, $query);
перепроверьте синтаксис, потому что я часто получаю его задом наперед, но без этой настройки вы не можете подключиться к базе данных,
PHP должен пройти аутентификацию / вход в систему, прежде чем он сможет делать запросы (в противном случае любой мог бы сделать запрос к вашей базе данных)
В дополнение к этому, вы должны убедиться, что sql прослушивает нужные порты (обычно 1433), это делается с помощью диспетчера sql (не проводника sql).
результаты все еще находятся в формате массива, поэтому вам нужно вызвать конкретное имя поля.
в этом случае.
echo '<td>' . $field['id'] . '</td>';
должно работать, (это формат, который я использую)
while ($row = mysqli_fetch_array($query)) {
foreach ($row as $field) {
echo '<td>' .$field['id']. '</td>';
}
}