| Autor | Zpráva | ||
|---|---|---|---|
| Adam501 Profil |
#1 · Zasláno: 15. 8. 2011, 13:37:25 · Upravil/a: Adam501
Ahoj. Mám problém s insertem. Příkaz používám snad poprvý v životě a ani sem nečekal že to hned půjde.
Takhle vypadá insert: mysql_query("INSERT INTO `recepty` (nazev, kategorie, suroviny, posutp) VALUES ('".$_GET['nazev']."','".$_GET['kategorie']."','".$_GET['suroviny']."','".$_GET['postup']."')");Chybu to nyvypisuje, naopak napíše to "Recept byl úspěšně přidán." Přesto v databázi není nový řádek. Nevíte kde se stala chybka? EDIT: Můžete smazat. Chyba byla v názvu jednoho sloupce. |
||
| pcmanik Profil |
#2 · Zasláno: 15. 8. 2011, 14:58:46
Adam501:
Ak ti to vypisovalo "Recept byl úspěšně přidán." aj napriek zlemu nazvu stplca, tak potom mas niekde v kode chybu a nemalo by ti to vypisat nemyslis? |
||
| DoubleThink Profil * |
#3 · Zasláno: 15. 8. 2011, 15:16:58
Mimochodem neošetřené externí proměnné v query - za to se už dneska střílí bez soudu.
|
||
| Adam501 Profil |
#4 · Zasláno: 15. 8. 2011, 17:48:37
pcmanik:
Ne. Protože ta hláška nebyla ničím podmíněná. Jakmile to nevypsalo chybu(varování), tak se napíše takhle hláška. DoubleThink: Jak se to hlídá?(chápu dobře, že mluvíš o SQL injection?) |
||
| pcmanik Profil |
#5 · Zasláno: 16. 8. 2011, 09:51:18
Adam501:
Cize to ukazuje na chybu nemyslis? Ako to moze vypisat ze bolo nieco uspesne pridane, ked to nebolo? To je trocha proti logike. Ano DoubleThink naraza na SQL injection |
||
| DarkMeni Profil |
#6 · Zasláno: 16. 8. 2011, 10:53:30
Adam501:
„Jak se to hlídá?“ Třeba mysql_real_escape_string.
$nazev = mysql_real_escape_string($_GET['nazev']); //nebo $_POST['nazev']
//...
mysql_query("INSERT INTO... ('".$nazev."',...)") or die("Chyba: ".mysql_error());
//nebo:
$dotaz = mysql_query("INSERT INTO... ('".$nazev."',...)");
if($dotaz){
echo "V pořádku";
}else{
echo "Chyba: ".mysql_error();
}
|
||
| Adam501 Profil |
#7 · Zasláno: 16. 8. 2011, 12:08:23
DarkMeni:
Díky. |
||
|
Časová prodleva: 14 let
|
|||
0