Я делаю страницу обновления статуса для практики 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;
}
?>
Как я уже упоминал в комментариях, вы делаете два запроса, а не зацикливаетесь на (успешных) результатах.
«Цикл» должен использовать либо 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();
?>
Других решений пока нет …