mysql — ошибка SQLi при попытке отобразить определенный идентификатор в переполнении стека

Я делаю страницу обновления статуса для практики PHP и MySQL.

В настоящее время я пытаюсь отобразить сохраненный статус на странице.

Статусы сохраняются в строке, называемой «Статус», и всем им присваивается определенный идентификатор в строке, называемый «StatusID».

Проблема, с которой я сталкиваюсь, заключается в том, какую выборку я хочу использовать, потому что преобразовываю ее в строку, используя (string)$var не работает ($var это пример).

Так же $idNum Переменная — это что-то для последующего использования, не должно иметь с этим ничего общего.

Вот код: (Очевидно, что первые переменные подвергаются цензуре, поэтому никто не пытается соединиться с базой данных, соединение работает в реальном коде.)
Проблема заключается в $fetchRes Я верю.

<?php
$idNum = 1;
$servername = "censored";
$username = "censored";
$password = "censored";
$db_name = "censored";
$conn = mysqli_connect($servername, $username, $password, $db_name);

if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT Status FROM SavedStatuses WHERE statusID=1;";
$statusQuery = mysqli_query($conn, $sql);
$fetchRes = mysqli_fetch_assoc($statusQuery);

if($conn->query($sql) == TRUE)
{
echo $fetchRes;
} else {
echo "Failed to retrieve status, error: " . $conn->error;
}
?>

1

Решение

Как я уже упоминал в комментариях, вы делаете два запроса, а не зацикливаетесь на (успешных) результатах.

«Цикл» должен использовать либо while или foreach, Я использовал while цикл для этого примера.

Из «официального» руководства:

Пример:

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if ($result = $mysqli->query($query)) {

/* fetch associative array */
while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

/* free result set */
$result->free();
}

/* close connection */
$mysqli->close();
?>

Так что в вашем случае ваш код будет выглядеть так:

Примечание: Status а также status два разных животных, поэтому убедитесь, что регистр букв совпадает (в цикле).

<?php
$mysqli = new mysqli("censored", "censored", "censored", "censored");

/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}

$query = "SELECT Status FROM SavedStatuses WHERE statusID=1";

if ($result = $mysqli->query($query)) {

/* fetch associative array */
while ($row = $result->fetch_assoc()) {
echo $row["Status"];
}

/* free result set */
$result->free();
}else{
echo "The query failed: " . mysqli_error($mysqli);

}

/* close connection */
$mysqli->close();
?>
2

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

Других решений пока нет …

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