Kezdőoldal » Számítástechnika » Programozás » Mi a baj ezzel a PHP kóddal?

Mi a baj ezzel a PHP kóddal?

Figyelt kérdés

2 mysql query kéne legyen egymás után de általában csak a másodikat tölti fel.Prog pont hun néztem egy hasonló topicot ahol megoldodott és megprobáltam ugy de nem lett neekm jo.Ime a kód:


//KEDVELEM:

if($like == "kedvelem")

{

include("kapcs.php");

$sql="INSERT INTO topic (cim,kep,trailer,megjelenes,pc,psp,ps2,ps3,wii,ds,360,egyeb,tipus,keszito,megjegyzes,szerzo) VALUES ('".$_POST["cim"]."','images/boritokepek/".$_FILES["feltoltottkep"]["name"]."','".$_POST["trailer"]."','".$_POST["megjelenes"]."','".$_POST["pc"]."','".$_POST["ps2"]."','".$_POST["ps3"]."','".$_POST["wii"]."','".$_POST["ds"]."','".$_POST["360"]."','".$_POST["egyeb"]."','".$_POST["tipus"]."','".$_POST["maker"]."','".$_POST["megjegyzes"]."','".$row["name"]."')";

//VAGY FELTÖLTI VAGY KIÍRJA A HIBÁT

mysql_query($sql) or die("<br>".$sql."<br>".mysql_error());


//AZ UCSSÓ FELTÖLTÉS ID JÉT JEGYZI MEG

$id = mysql_insert_id();

//FELTÖLT

include("kapcs.php");

$sql="INSERT INTO topiclike (topicid,felhasznaloid,likee,szoveg,datum) VALUES ('".$id."','".$_SESSION['loginid']."','".T."','".$_SESSION['kedvelem']."','".$unix."')";

//VAGY FELTÖLTI VAGY KIÍRJA A HIBÁT

mysql_query($sql) or die("<br>".$sql."<br>".mysql_error());

}


PLs segitsetek


2011. febr. 6. 12:34
1 2
 1/13 A kérdező kommentje:
Bocsánat látom nagyon összecseszte a kódot a gyakorikerdesek:S remélem látjátok majd bene a lényyeget
2011. febr. 6. 12:35
 2/13 anonim ***** válasza:

Jó lenne, ha az összeállított sql queryket is bemásolnád ide, mert ezt senki nem fogja így kibogozni. Másrészről ilyet nem illik a kódba írni:

$sql="INSERT INTO ...".$_POST["cim"]."..., mert SQL injection támadással támadható. Valaki a cím mezőbe beírja, hogy ...; DROP TABLE topic, és oda az egész táblád.

2011. febr. 6. 12:41
Hasznos számodra ez a válasz?
 3/13 A kérdező kommentje:
Értem.Akkor pontosan a kód melyik részét másoljam be ide hogy érthető legyen?
2011. febr. 6. 12:55
 4/13 anonim ***** válasza:

a $sql változó értékeit írasd ki

és azt is ird meg,, hogy melyik tablaba milyen adatok kerulnek + ha valami hibat is kiir azt is másold ide

2011. febr. 6. 14:14
Hasznos számodra ez a válasz?
 5/13 A kérdező kommentje:

A hiba (azér vannak ilyen összevisszaságok mert a formba hülyeségeket irtam be):


INSERT INTO topic (cim,kep,trailer,megjelenes,pc,psp,ps2,ps3,wii,ds,360,egyeb,tipus,keszito,megjegyzes,szerzo) VALUES ('hgfhgd','images/boritokepek/lol.jpg','hfghgfh','hfhghg','1','','1','','','','','mmofps','hfghh','hfgfgh','aron')

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '360,egyeb,tipus,keszito,megjegyzes,szerzo) VALUES ('hgfhgd','images/boritokepek/' at line 1



az $sql (először):

"INSERT INTO topic (cim,kep,trailer,megjelenes,pc,psp,ps2,ps3,wii,ds,360,egyeb,tipus,keszito,megjegyzes,szerzo) VALUES ('".$_POST["cim"]."','images/boritokepek/".$_FILES["feltoltottkep"]["name"]."','".$_POST["trailer"]."','".$_POST["megjelenes"]."','".$_POST["pc"]."','".$_POST["ps2"]."','".$_POST["ps3"]."','".$_POST["wii"]."','".$_POST["ds"]."','".$_POST["360"]."','".$_POST["egyeb"]."','".$_POST["tipus"]."','".$_POST["maker"]."','".$_POST["megjegyzes"]."','".$row["name"]."')";


a $sql (másodszor:

"INSERT INTO topiclike (topicid,felhasznaloid,likee,szoveg,datum) VALUES ('".$id."','".$_SESSION['loginid']."','".T."','".$_SESSION['kedvelem']."','".$unix."')";

2011. febr. 6. 15:32
 6/13 A kérdező kommentje:
basszus egyszerüen nemtom szépen leirni itt:S a gyakorikerdesek összecseszi ha gondolod emailben elküldhetem ha ezt végleg nemlehet kiolvasni
2011. febr. 6. 15:33
 7/13 anonim ***** válasza:
itt a 360-nal van a gond, az nem egy érvényes oszlopnév, mivel az oszlopnevek nem kezdődhetnek számmal.
2011. febr. 6. 16:38
Hasznos számodra ez a válasz?
 8/13 anonim ***** válasza:

egyébként most ugyanazt másoldatd be, amit előtte, ha jól látom...én az ősszefűzött ésql valzotó értékére letten volna kíváncsi, ami már az adatbázisba tényelgesen mentendő adatokat tartalmazza (tehát nincs benen ilyen $_POST, meg hasonlók.

Egyébként nem csak az a gond az ilyen összefűzésekkel, hogy SQL injectionnel támadhato, hanem pl ha egy '-jelet irsz be az adott input boxba, már akkor is elszáll az adatbázisművelet.

2011. febr. 6. 16:41
Hasznos számodra ez a válasz?
 9/13 A kérdező kommentje:
Értem köszönöm.Mindj kiprobálom a 360dolgot
2011. febr. 6. 16:57
 10/13 A kérdező kommentje:

A 360as dolog megoldodott és jött a kövi:

Column count doesn't match value count at row 1

2011. febr. 6. 17:02
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!