2015-04-24 5 views
0

Я уже показываю данные MySQL в таблице PHP с функцией редактирования, но я не могу их редактировать, и я не знаю почему.Редактировать данные из Mysql с помощью php

<?php 
require("db.php"); 
$id =$_REQUEST['rid']; 

$result = mysql_query("SELECT * FROM replies WHERE rid = '$id'"); 
$test = mysql_fetch_array($result); 
if (!$result) 
     { 
     die("Error: Data not found.."); 
     } 
       $trigger1=$test['trigger1'] ; 
       $reply2= $test['reply2'] ;    

if (isset($_POST['save'])) 
{ 
    $triggera = $_POST['trigger1']; 
    $replyb = $_POST['reply2']; 

    mysql_query("UPDATE `replies`(trigger,reply) VALUES ('$triggera','$replyb') WHERE rid = '$id'"); 
    echo "Saved!"; 

} 
mysql_close($conn); 
?> 

И это MySQL код базы данных:

CREATE TABLE IF NOT EXISTS `replies` (
    `trigger` text NOT NULL, 
    `reply` text NOT NULL, 
    `usercontrib` tinyint(4) NOT NULL DEFAULT '0', 
    `rid` int(10) unsigned NOT NULL 
) ENGINE=MyISAM AUTO_INCREMENT=332 DEFAULT CHARSET=utf8; 

и, наконец:

<form method="post"> 
     <table> 
      <tr> 
       <td>Title:</td> 
       <td><input type="text" name="trigger" value="<?php echo $trigger1 ?>"/></td> 
      </tr> 
      <tr> 
       <td>Author</td> 
       <td><input type="text" name="reply" value="<?php echo $reply2 ?>"/></td> 
      </tr> 
      <tr> 
       <td>&nbsp;</td> 
       <td><input type="submit" name="save" value="save" /></td> 
      </tr> 
     </table> 
    </form> 

Когда я нажимаю "изменить" в конкретно данных модифицируют, поля в «редактировать «страница пуста, я думаю, что« эхо »на этом не работает.

+0

Вы получаете сообщение об ошибке? Если это так, пожалуйста, отредактируйте свой результат, чтобы включить его. – nomistic

+0

Нет, результат edtion просто не выполняется и не изменяет базу данных ... В поле ввода Ths должно отображаться специфицированные исходные данные os mysql database, которые нужно будет изменить. –

+0

Не просто вводите пользовательский ввод в свои SQL-запросы, вот как вы его вводите. http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php?rq=1 – chris85

ответ

2

Неверное исправление SQL. Попробуйте это:

UPDATE `replies` SET trigger = '$triggera', reply = '$replyb' WHERE rid = '$rid' 

Надежда, что помогает!

0

$ _POST массив будет иметь ключ точно такой же от значения атрибута 'name' в форме HTML. Итак, где вы проверяете, если сохранить Исеть в вашей PHP программы вам необходимо сделать следующие изменения -

$triggera = $_POST['trigger']; 
$replyb = $_POST['reply']; 

Кроме того, чтобы проверить, вы можете попробовать напечатать массив POST на странице с помощью print_r метода.