ugrás a tartalomhoz

MySQL UPDATE

fabian.attila · 2013. Ápr. 18. (Cs), 16.51
Sziasztok!
Elég szomorú dologgal találtam magam szemben: egy elég kezdő problémával szenvedek, de már lassan nem hiszem el, hogy nem tudom megcsinálni, hiszen ez vicc.

Egy egyszerű MySQL UPDATE volna a cél, de nem akar működni (tökéletesen lefut, semmi hibaüzenet, csak épp a tartalom nem változik).

A kódom:
  1. if ($_GET['torles_id'] == ""  
  2.         && $_GET['szerkesztes_id'] != "")  
  3.         {  
  4.             $sql_1 = "SELECT * FROM hirek WHERE id=" . $_GET['szerkesztes_id'];  
  5.             $eredmeny = mysql_query($sql_1);  
  6.             while ($adat = mysql_fetch_array($eredmeny))  
  7.                 {     
  8.                     $szoveg = $adat['hir'];  
  9.                 }  
  10.           
  11.             echo    '<div class="rich_text">  
  12.                     <form action="hirszerkesztes.php" method="post">  
  13.                         <table width="100%" border="0">  
  14.                             <tr>  
  15.                                 <td>  
  16.                                     <div align="center">  
  17.                                         <textarea name="wysiwyg" id="wysiwyg" rows="25" cols="80">' . $szoveg . '</textarea>  
  18.                                     </div>  
  19.                                     <div style="display:none;">  
  20.                                         <input type="radio" name="szerkesztes_id" value="' . $_GET['szerkesztes_id'] . '" checked />  
  21.                                     </div>  
  22.                                 </td>  
  23.                             </tr>  
  24.                             <tr>  
  25.                                 <td>  
  26.                                     <div align="center">  
  27.                                         <input type="submit" value="Hír közzététele" />  
  28.                                     </div>  
  29.                                 </td>  
  30.                             </tr>  
  31.                         </table>  
  32.                     </form>  
  33.                 </div>';  
  34.         }  
  35.           
  36.     if ($_POST['wysiwyg'] != "")  
  37.         {  
  38.             $sql_3 = "UPDATE hirek SET hir=" . $_POST['wysiwyg'] . " WHERE id=" . $_POST['szerkesztes_id'];  
  39.                           
  40.             mysql_query($sql_3);  
  41.               
  42.             echo    '<p>A hír sikeresen módosítva lett!</p>  
  43.                     <form action="hirszerkesztes.php">  
  44.                         <input type="submit" value="Vissza a hírek szerkesztéséhez!" />  
  45.                     </form>';  
  46.         }  
 
1

escape

Poetro · 2013. Ápr. 18. (Cs), 17.07
A $_POST['wysiwyg'] értékét megfelelően escapelni kell, valamint idézőjelbe tenni.
2

Tranzakció?

BlaZe · 2013. Ápr. 18. (Cs), 17.14
Illetve egy commit sem ártana, ha nem MyISAM a tábla.
3

Köszönöm, ez volt a megoldás!

fabian.attila · 2013. Ápr. 18. (Cs), 17.42
Köszönöm, ez volt a megoldás!
4

Az ilyesmiket elkerülhetnéd,

inf · 2013. Ápr. 22. (H), 02.58
Az ilyesmiket elkerülhetnéd, ha PDO prepared statementeket használnál ehelyett a már rég meghaladott mysql könyvtár helyett.