PHP a update v MySQL - data se neaktualizují ale smažou v databázi
Zdravím všechny.
Nepomohl by mi někdo s mým problémem který spočívá že můj kod na update dat funguje tak z 30%. Viz kod
<html>
<head>
<title>UPDATE</title>
</head>
<body>
<?php
$confid = intval($_GET['conf']);
$teams = $_POST['teams'];
$jmeno = $_POST['jmeno'];
$playerid = $_POST['playerid'];
if($_POST['update'])
{
mysql_query("UPDATE hraci SET teams = '".$teams."', jmeno = '".$jmeno."'WHERE confid=$confid AND playerid=$playerid ");
}
$sql = mysql_query("SELECT * FROM hraci WHERE confid=$confid limit 1")or die(mysql_error());
while($row = mysql_fetch_array($sql))
{
echo "<form method='post'>";
echo "<input type='text' name='nazev' value=".$row['teams'].">";
echo "<input type='text' name='kod' value=".$row['jmeno'].">";
echo "<input type='hidden' name='playerid' value=".$row['playerid'].">";
echo "<input type='submit' name='update'>";
echo "</form>";
}
?>
</body>
</html>
Vypíše mi daný věci který chci aktualizovat když je přepíši a dám odeslat tak se data neaktualizují ale smažou v databázy.
Nevíte kde je chyba.
Změna předmětu, původně: PHP update (host)
Nechápu, proč by se data měla smazat, to se mi nějak nezdá.
Doplň za provedení toho UPDATE výpis chyb
Kliknu na odeslat a skočí Query was empty
Tohle ti přečte jeden řádek z tabulky, opravdu to tak chceš?
ano jde o update jednoho řádku
Ale tohle ti přečte jeden libovolný řádek, ne ten který jsi právě updatoval.
Když dám toto
Tak mi to hází chybu
ze ty mas v confid promene nejakou prasarnu...
Kde se vezme $plyerid, pokud není odeslán formulář?
confid je číslo konference
playerid je číslo řádku
změnil jsem kod na
Ale ani tak se to neaktualizuje.
Vždy se nahraje teams a jmeno prázdný
wtf? takze snad UPDATE probehne ok, co je v pici je promena $jmeno, ne?
teď jsem tě nějak nepochopil.
Najedu na formulář a zobrazí se mi daný tým a jméno.
Přepíšu to na něco jiného jak jméno tak tým kliknu odelsat a skočí mi 2 prázdný pole.
Takže to vypadá že se update povede avšak zapíšou se prázdný hodnoty.
vyřešeno :D
chyba byla zde
Mělo by být :
Ke zdůvodnění viz třeba :
http://www.tizag.com/mysqlTutorial/mysql-php-sql-i njection.php