Autor Zpráva
krteczek
Profil *
mysql jak najednou zapsat více proměnnych, a ošetřit aby se zapsaly všechny nebo žádná a vrátilo to vysledek(zapsano nezapsano??
ted mám tohle, ale když se snažím načíst data z databáze je tam jen ten 1 sloupec(čili jmeno),(+číslo řadku)

mysql_query ("insert into lide (jmeno, prijmeni, ulice, mesto, psc, narozen, prezdivky, telefon1, telefon2, telefon3, email, zajmy, skola, sport, popis) values ('".$_POST["jmeno"]."','".$_POST["prijmeni"] . "','".$_POST["ulice"]."','".$_POST["mesto"]."','".$_POST["psc"]."','". $_POST["narozen"]."','" .$_POST["prezdivky"]."','". $_POST["telefon1"]."','" . $_POST["telefon2"]."','". $_POST["telefon3"]. "','".$_POST["email"] . "', '".$_POST["zajmy"]. "','" .$_POST["skola"] . "','". $_POST["sport"] . "', '" . $_POST["popis"] ."');", $GLOBALS["link"]);
$chyba = mysql_error($GLOBALS["link"]);

if ($chyba==='')
{
$lideid=mysql_insert_id();
echo "Data byla úspěšně přidána do databáze";
$BudemeZobrazovat=false;
}

else
{
echo "Data nebyla do databáze přidána,. Databáze vrátila chybu $chyba <BR>\n";
}

díky krteczek
Leo
Profil
V INSERTu se da pouzit mnohonasobna cast VALUES:

INSERT INTO .... VALES ('pepa',4),('jana',78),(....),(...)

Leo
Leo
Profil
Nebo pouzit vickrat INSERT, vy tam mate jen jeden, tak je normalni, ze se vlozi jen jeden zaznam :-) Leo
krteczek
Profil *
ale tohle je je zapsání dat do jednoho řádku, každá položka má být zapsána do samostatného sloupce tabulky.
Leo: co znamenají ta čísla??? ('pepa',4)??? ta 4??
Leo
Profil
Co se vlastne snazite udelat? Pokud chcete vlozit vic radku tak proste INSERT provedete vickrat, Leo
krteczek
Profil *
ja se snažim do jednoho řadku ktery ma 20 sloupcu do kazdeho sloupce zapsat hodnotu jine promenne, a nejak se mi to nedaři :(
diky leo
Lemur
Profil *
Nejlepší je puživat insert into tabulka set sloupec1='hodnota1', sloupec2='hodnota2', ... atd. Vyhoda je, že pak nezáleži na pořadi sloupců, a pokud se nějaky nový přidá, nemusí se všechno přepisovat.

BTW používat $_POST["jmeno"] bez oescapování je přímo žádost o SQL injection atack.
krteczek
Profil *
lemur: díky za upozornění, o sql injection vím, a bráním se mmu . ale je třeba ostatním tohle zdůraznit. veškeré proměnné které zadáváte pomocí formulářů ošetřujte proti útokům na php skripty, vaše stránky, i vaši databázi odstraněním zpětných lomítek, html tagů a oříznutím na požadovanou maximální délku,v knihách návštěv navíc používám ještě
wordwrap($odkaz, 39, " ", 1) tahle funkce vloží do proměnnéna požadované místo(každý 39znak) znak " " nebo jakýkoliv jiný který dáte.tím rozsekáte čmáraníce troubů ve vaší knize návštěv, nebo kdekoliv jende budete potrebovat.
já mám ošetřené ty proměnné,ale protože bylo zbytečné to zde publikovat takjsem to tu nedal každá prochází tímto:
	

$_POST["telefon2"]=stripslashes($_POST["telefon2"]);
$_POST["telefon2"]=strip_tags($_POST["telefon2"]);
$_POST["telefon2"]=trim($_POST["telefon2"]);
$_POST["telefon2"]=substr(($_POST["telefon2"]),0,19);

některé navíc procházejí ještě regulárním výrazem ty u kterých jsem ho zvládl napsat tak aby chodily podle mých přání

pokud jsem tu uvedl nějaký blud tak to prosím někdo opravte :-)
krteczek
Toto téma je uzamčeno. Odpověď nelze zaslat.

0