cloud9 — просто нужна помощь, некоторые функции php CRUD

Я в настоящее время кодирую веб-сайт в php, к сожалению, я столкнулся с проблемой, где мне не удается заставить работать мои страницыmend.php и update.php и обновить на моей созданной странице отображения ниже код.

На странице отображения отображается таблица с описательными столбцами, если гиперссылка «изменить» выбрана, и запускает файлmend.php.

изменить

<?php
include 'connection.php';$id = $_GET ['theid'];

$query = "SELECT * FROM place WHERE placeid = '$id'";

$results = mysqli_query($connection,$query);

$row = mysqli_fetch_assoc($results);
?>
<?php include 'header.php'; ?>

<body>
<h2>Amend</h2>

<form method="post" action="updateplace.php">

<fieldset class="fieldset-width1">

<input type="hidden" name="hiddenID" value= "<?php echo $row['placeid']; ?>" />
<br />
<br />
<label class="align" for="txtplacename">Place Name: </label>
<input type="text" name="txtplacename" value = "<?php echo $row['placename']; ?>" />
<br />
<br />
<label class="align"for="txtplacedesc">Place description: </label>
<input type="text" name="txtplacedesc" value = "<?php echo $row['placedesc']; ?>" />
<br />
<br />
<label class="align"for="txtplacecat">Place category: </label>
<input type="text" name="txtplacecat" value = "<?php echo $row['placecat']; ?>" />
<br />
<br />
<label class="align" for="txtplaceimg">Place image: </label>
<input type="text" name="txtplaceimg" value = "<?php echo $row['placeimg']; ?>" />
<br />
<br />
<input type="submit" value="Submit" name='submit' />
</fieldset>
</form>
</p>
<?php include 'footer.php'; ?>
</body>

</html>

Эта страница php работает, так как отображает все данные из phpmyadmin, используя выбранный идентификатор.

Обновить

<?php
include 'connection.php';

if(isset($_POST['submit'])){

$placeid = $_POST['hiddenID'];
$placename = $_POST['txtplacename'];
$placedesc = $_POST['txtplacedesc'];
$placecat = $_POST['txtplacecat'];
$placeimg = $_POST['txtplaceimg'];
}

$query = "UPDATE place
SET placename = '$placename';
SET placedesc = '$placedesc';
SET placecat = '$placecat';
SET placeimg = '$placeimg';
WHERE
placeid = '$placeid'";

mysqli_query($connection,$query);

header("location:admin.php");

когда я выбираю кнопку отправки, заголовок перенаправляет меня, однако ни один из столбцов, которые я изменяю, не будет обновлен. Любая помощь будет оценена спасибо

0

Решение

Посмотри на свой UPDATE запрос,

$query = "UPDATE place
SET placename = '$placename';  <==
SET placedesc = '$placedesc';  <==
...

Вы прекращаете свой UPDATE операция в каждой строке, используя ;, который нарушает ваш запрос. Кроме того, ваш UPDATE Сам запрос неверен, он должен быть таким:

$query = "UPDATE place SET placename = '$placename', placedesc = '$placedesc', placecat = '$placecat', placeimg = '$placeimg' WHERE placeid = '$placeid'";

Примечание: Узнать о подготовленное заявление потому что сейчас ваш запрос подвержен атакам SQL-инъекций. Также вот хорошее чтение на как вы можете предотвратить внедрение SQL в PHP.

0

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

Вы не должны просто предполагать, что запрос был успешным. Замените свой mysqli_query в соответствии с этим, чтобы выяснить, что происходит:

if (!mysqli_query($connection, $query)) {
echo("Error description: " . mysqli_error($connection));
die();
}

Если у вас есть какая-то ошибка, это предотвратит перенаправление и отображение. Если вы все еще получаете перенаправление, в самом запросе не было ничего плохого, скорее ваш $placeid значение не существует в базе данных.

0