Mi a baj ezzel a PHP kóddal?
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
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.
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
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."')";
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.
A 360as dolog megoldodott és jött a kövi:
Column count doesn't match value count at row 1
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!