Kezdőoldal » Számítástechnika » Programozás » PHP kód - mi lehet a probléma?

PHP kód - mi lehet a probléma?

Figyelt kérdés

Sziasztok! Egy formból szeretnék sql táblába adatot felvinni. Szintaktikailag megy, lefut (egy if-en belül van a parancs, de az if megy, mert a többi utasítás lefut) viszont a form adatait nem akarja átadni. Természetesen változónak átadtam már a form fieldjeit, pl így:

$nev = $_POST['nev'];

és ő nem akar lefutni:

$adatfel = ("INSERT INTO `tablanev`.`reg` (`id`, `nev`, `nem`) VALUES (NULL, '$nev', '$nem')");

mysql_query($adatfel);


Van valami tippeket, mi lehet a gond? Az sql táblába minden textnek van megadva az ID-n kívül, az autoinces.


Köszönöm a választ!



2014. júl. 24. 07:35
 1/10 anonim ***** válasza:

$adatfel = ("INSERT INTO `tablanev`.`reg` (`id`, `nev`, `nem`) VALUES ('', '$nev', '$nem')");

?

2014. júl. 24. 08:16
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
aztán az sql injection-re érdemes figyelni ám.
2014. júl. 24. 08:19
Hasznos számodra ez a válasz?
 3/10 anonim ***** válasza:

esetleg az lehet még, hogy a link kimaradt, tehát

mysql_query(<lekérdezés>, $link);

a $link a változó amibe megnyitottad az adatbázist

2014. júl. 24. 08:36
Hasznos számodra ez a válasz?
 4/10 anonim ***** válasza:
100%

mysql_connect() van?

mysql_select_db() van?


`tablanev`.`reg`

Ez biztos jó?

Szinktaktikailag így van asszem: <adatbázis>.<tábla>

Tehát a kérdésem: mi a tábla, illetve az adatbázis neve?

2014. júl. 24. 08:44
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:

Gugli:

A nullos dolgot javítottam, igazad volt, viszont még mindig nem fut :(

A kapcsolódás megvan, igazából az egész egy if-en belül van, és az if-en belül az első lépés egy update egy másik db-be van:

$aktivalas = ("UPDATE `tablanev`.`regkey` SET `aktivalva` = '1' WHERE `tablanev`.`regkey` = '$regkod'");

mysql_query($aktivalas);

Ez lefut, a regkód egy formból van, az aktiválva oszlopot módosítja. A következő két sor pedig amit a kérdésben írtam, azt sajnos nem teszi meg még mindig :(

2014. júl. 24. 10:33
 6/10 anonim ***** válasza:
100%
a pastebinre tedd ki a teljes kódot szerintem hogy jobban debuggolható legyen.
2014. júl. 24. 11:04
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:
100%

"UPDATE `tablanev`.`regkey` SET `aktivalva` = '1' WHERE `tablanev`.`regkey` = '$regkod'"


Ez így nagyon nem jó.

Így kell kinézni:

UPDATE <táblanév> SET <módosítások> WHERE <feltétel>


vagy így:

UPDATE <adatbázisnév>.<táblanév> SET <mdosítások> WHERE <feltétel>


(A te példádban...)

2014. júl. 24. 11:08
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:

1. Írasd ki magadnak a lekérdezéseket, amiket futtatsz

2. a kapott kódot futtasd egy sql kliensben (akár phpmyadmin-ban is)


A,) Ha sql szintaktikai hibád van, akkor azt ott részletezni fogja, hogy mi baja, ki tudod próbálgatni, hogy hogy lenne jó, és az alapján javítani a php kódot

B,) Ha egyből lefut akkor jó eséllyel rossz típusú idézőjelet/aposztrófot használt a programkódban :)

2014. júl. 29. 14:37
Hasznos számodra ez a válasz?
 9/10 anonim ***** válasza:

8. vagyok, szóval még:

kiíratást értsd:

$adatfel = ("INSERT INTO `tablanev`.`reg` (`id`, `nev`, `nem`) VALUES (NULL, '$nev', '$nem')");

mysql_query($adatfel);

echo $adatfel;

Esetleg még így írhatod át a query részt, hogy közvetlenebbül lásd a hibát:

$result = mysql_query($adatfel);

if (!$result) {

die(mysql_error());

}

2014. júl. 29. 14:41
Hasznos számodra ez a válasz?
 10/10 A kérdező kommentje:

Megoldódott a probléma, annyi volt, hogy az insert into(érték,érték) kellett ('érték','érték') helyett, köszönöm, mindenkinek ment a plusz! :)


Most viszont új gondom van, amivel eddig nem volt semmi:

Adott ugye az adatbázis, amibe felviszem a neveket. Az adatbázis eddig latin2_hungarian_ci-n ment, de most, ha ékezetes betűt vinnék fel, akkor ?? lesz helyette, utf8-on pedig csak krix-krax. De ezt már másik kérdésbe, inkább. Köszönöm mindenkinek!

2014. júl. 29. 19:10

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!