2017-01-06 4 views
0

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

Отображаемая страница отображает таблицу с описательными столбцами, когда гиперссылка «modify» выбирает, что она запускает edit.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'"; 

Sidenote: Узнайте о prepared statement потому что прямо сейчас ваш запрос чувствителен к атакам SQL-инъекции. Также хорошо читайте на how you can prevent SQL injection in PHP.

+0

перед публикацией у меня был запрос, так как вы написали его, просто пропуская запятую после каждого имени столбца, прежде чем я расстроился, и начал добавлять набор к каждому столбцу, чтобы попытаться исправить мой код. И спасибо за вашу помощь! –

+0

@ K-dawggggg Добро пожаловать! Чтобы указать еще одну вещь, вы должны привыкнуть к * принятию * ответов, иначе вопросы будут всплывать как * открытые * вопросы. Более того, это также поможет другим разработчикам помочь вам в дальнейшем. [Как принять ответ на переполнение стека?] (Http://meta.stackexchange.com/a/5235) –

0

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

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

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

+0

спасибо, что я никогда не знал, что вы можете повторить описание ошибки, теперь у меня есть код. хорошего дня! –

Смежные вопросы