Задать вопрос
@kEdo_me

Почему не работает fetch_array?

Здравствуйте. Объясните убогому, пожалуйста, почему не работает fetch_array? По-идее, в поле input должны появляться данные для изменения...
HTML:
<?php require_once'proccess.php'; ?>

<?php
	$mysqli = mysqli_connect($host, $user, $password, $database) 
		or die("Ошибка " . mysqli_error($mysqli));
	$result = $mysqli->query("SELECT * FROM $tablecarousel") or die("Ошибка " . mysqli_error($mysqli));
?>
<div class="carouselcenter">
	<form action="proccess.php" method="POST">
	<label>Image adress</label>
	<input type="text" name="adress" value="<?php echo $updateadress; ?>" placeholder="Введите адрес изображения">
	<button type="submit" name="save">Save</button>
	<table>
		<thead>
			<tr>
				<th>Adress</th>
				<th colspan="2">Action</th>
			</tr>
		</thead>
		<?php while ($row = $result->fetch_assoc()): ?>
			<tr>
				<td><?php echo $row['carousel'];?></td>
				<td><a href="login.php?edit=<?php echo $row['id']; ?>">Изменить</a></td>
				<td><a href="proccess.php?delete=<?php echo $row['id']; ?>">Удалить</a></td>
				</tr>
		<?php endwhile;?>
	</table>
</div>


Файл proccess.php:

<?php
	$host = 'localhost';
	$database = 'settings';
	$user = 'root';
	$password = 'admin'; 	
	$tablecarousel='carousel';
	$mysqli = mysqli_connect($host, $user, $password, $database) 
		or die("Ошибка " . mysqli_error($mysqli));
    if(isset($_POST['save'])){
		$adress=$_POST['adress'];
		$mysqli->query("INSERT INTO $tablecarousel (carousel) VALUES ('$adress')") or die($mysqli->error());
		header("location:login.php");
	}
	if(isset($_GET['delete'])){
		$id = $_GET['delete'];
		$mysqli->query("DELETE FROM $tablecarousel WHERE id=$id") or die($mysqli->error());
		header("location:login.php");
	}
	if(isset($_GET['edit'])){
		$id=$_GET['id'];
		$result=$mysqli->query("SELECT * FROM $tablecarousel WHERE id='$id'") or die($mysqli->error());
		if($result->num_rows){
			$row=$result->fetch_array();
			$updateadress=$row['carousel'];
		}
	}
?>
  • Вопрос задан
  • 226 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@kEdo_me Автор вопроса
Ошибка была в следующем: В $id=$_GET['id']; необходимо было исправить на $id=$_GET['edit']; и всё. Потому и не работал запрос, ибо id-то не получалось...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Вы пару часов назад задавали такой же абсолютно левый вопрос, который решается абсолютно так же: по шагам проверяются значения и результат работы. Кроме того - вывод ошибок. Тогда сразу видно что ваша переменная никогда не попадет в вывод по причине того что после ее получения вы просрали все минералы сделали переадресацию на другой урл(читай - закрыли старый скрипт и создали новый).
Ответ написан
kirillzver
@kirillzver
Web-разработчик.
Почему вместо
while ($row = $result->fetch_assoc())
Не использовать:
$rows = $result->fetch_all(MYSQLI_ASSOC);
foreach ($rows as $row)
Этот вариант работает значительно быстрее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект