Ошибка строки эхо-таблицы SQL?

Я ОЧЕНЬ новичок в 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>';
}

?>

0

Решение

Я думаю, что проблема довольно очевидна; Вы либо не подключились к своей базе данных, либо ваша система не позволяет использовать 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> теги, он все равно будет давать результаты, по успешному запросу.

  • Кроме того, для этого требуется, чтобы файл выполнялся с использованием веб-сервера с установленным php / mysql и использовался как http://localhost в отличие от file:///, если это так.

Другая ссылка:

2

Другие решения

Несколько вещей, во-первых, вам нужно подключиться к базе данных с именем экземпляра 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>';
}
}
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector