2015-07-08 3 views
-1

Привет я пытаюсь обновить таблицу с формой у меня есть:UPDATE сообщает успешным, но не обновляет таблицу

<?php 
include ('includes/header.php'); 
require ('../db_con.php'); 

// Check for a valid document ID, through GET or POST: 
if ((isset($_GET['id'])) && (is_numeric($_GET['id']))) { // From view_docs.php 
    $id = $_GET['id']; 

} elseif ((isset($_POST['id'])) && (is_numeric($_POST['id']))) { // Form submission. 
    $id = $_POST['id']; 

} else { // No valid ID, kill the script. 
    echo '<p class="error">This page has been accessed in error.</p>'; 
    exit(); 
} 

$q = "SELECT * FROM cats WHERE cat_id = $id"; 
$r = mysqli_query($dbc, $q); 
?> 

<form method="post" action="actions/update_cat.php"> 
    <input type="hidden" name="cat_id" value="<? echo $id ?>" /> 
    <input type="text" name="cat_name" /> 
    <br><br> 
    <input type="text" name="cat_color" /> 
    <br><br> 
    <input type="text" name="cat_icon" /> 
    <br><br> 
    <input type="submit" value="submit" /> 
</form> 

Когда я представить это мой сценарий действий, я знаю, она проходит по значениям поступательном входа формы, но вот мой сценарий действия - и, прежде чем кто-либо указывает на это нет никаких мер для предотвращения инъекции SQL только пока:

<?php 

require ('../../db_con.php'); 

$cat_id = $_POST['cat_id']; 
$cat_name = $_POST['cat_name']; 
$cat_color = $_POST['cat_color']; 
$cat_icon = $_POST['cat_icon']; 

$q = "UPDATE cats SET cat_name='cat_name', cat_color='cat_color', cat_icon='cat_icon' WHERE cat_id='cat_id'"; 

if (mysqli_query($dbc, $q)) { 
    echo "Record updated successfully"; 
} else { 
    echo "Error updating record: " . mysqli_error($dbc); 
} 

mysqli_close($dbc); 

?> 

Так оно возвращает назад мне, что успешно обновляется, но она не обновляет таблицу ?

ответ

3

Ваш запрос не имеет динамических значений в ...

$q = "UPDATE cats SET cat_name='$cat_name', cat_color='$cat_color', cat_icon='$cat_icon' WHERE cat_id='$cat_id'"; 
Смежные вопросы