ugrás a tartalomhoz

Nem kerül be a tartományok táblámba az adat (PHP, MySQL)

Anonymous · 2006. Jan. 4. (Sze), 13.49
hali lenne egy ilyen php scriptem. az a baj hogy nem írja be az adatokat az adatbázisba. A kapcsolat az létrejön de nem írja be valamiért az adatokat valaki segítheten !
  1. <?php  
  2. $felhasznalo="******";  
  3. $jelszo="******";  
  4. $adatbazis="adatbazis1";  
  5. $kapcsolat=mysql_connect("localhost","$felhasznalo","$jelszo");  
  6. mysql_select_db('adatbazis1');  
  7. $query = 'SELECT * FROM tartomanyok';  
  8. $result = mysql_query($queryor die('Query failed: ' . mysql_error());  
  9. $parancs="insert into tartomanyok (tartomany,nem,email)  
  10. values ('123xyz.com','F','dfc##kukac##dfg.hu')";  
  11. mysql_close( $kapcsolat )  
  12. ?>  
 
1

mysql_query kimaradt

attlad · 2006. Jan. 4. (Sze), 13.56
Melyik sorban küldöd el az INSERT INTO kérést a MySQL szervernek? Ha egyikben sem, akkor nem fog lefutni.
2

Ez lehet a hiba:

Corvus · 2006. Jan. 4. (Sze), 14.19
  1. $result = mysql_query($query$kapcsolator die('Query failed: ' . mysql_error());  
A mysql_query() két paraméteres függvény. Az első paraméter a lekérdezés string, a második a kapcsolat azonosító. A manualban igaz h. a masodik paraméter nem kötelezőként van feltüntetve, de azért lehet h. mégis ez a gond.

A másik: a $parancs lekérdezést nem küldöd el a szervernek, tehát ez is hiányzik még:
  1. $parancseredm = mysql_query($parancs$kapcsolator die(mysql_error()." Hiba az insertnel.");  
3

<Nincs cím>

Anonymous · 2006. Jan. 4. (Sze), 15.03
  1. <?php  
  2. $felhasznalo="******";  
  3. $jelszo="8*******";  
  4. $adatbazis="adatbazis1";  
  5.     $kapcsolat=mysql_connect("localhost","$felhasznalo","$jelszo");  
  6.         mysql_select_db('adatbazis1');  
  7.     $query = 'SELECT * FROM tartomanyok';  
  8.     $result = mysql_query($query$kapcsolator die('Query failed: ' . mysql_error());  
  9. $parancseredm = mysql_query($parancs$kapcsolator die(mysql_error()." Hiba az insertnel.");  
  10. $parancs="insert into tartomanyok (tartomany,nem,email)  
  11.     values ('123xyz.com','F','fg##kukac##fg.hu')";  
  12. mysql_close( $kapcsolat )  
  13. ?>  
igy gondoltad?
4

gondolkozz

Hojtsy Gábor · 2006. Jan. 4. (Sze), 15.23
Sorról sorra folyik a végrehajtás. Ha a mysql_query($parancs) azelőtt van, hogy a $parancs valami értelmes értéket kap, akkor hogyan tudna lefutni? Érdemes lenne egy kicsit átgondolni, hogy mit csinál a program, amit leírsz.
5

Kezdő vagyok és még nem tudom annyira a php -t

Anonymous · 2006. Jan. 4. (Sze), 15.33
azért kértem segítséget mert nagyon kezdő vagyok és akár hoy csinálom nem jön össze.
6

Fordítsd meg

Anonymous · 2006. Jan. 4. (Sze), 16.10
Előbb adj értéket a $parancs változónak (INSERT INTO ...) és utána küldd el a MySQL kérést.
7

<Nincs cím>

Anonymous · 2006. Jan. 4. (Sze), 16.23
  1. <?php  
  2. $felhasznalo="*****";  
  3. $jelszo="*****";  
  4. $adatbazis="adatbazis1";  
  5.     $kapcsolat=mysql_connect("localhost","$felhasznalo","$jelszo");  
  6.         mysql_select_db('adatbazis1');  
  7.     $query = 'SELECT * FROM tartomanyok';  
  8.     $parancs="insert into tartomanyok (tartomany,nem,email)  
  9.                        values ('123xyz.com','F',sdf##kukac##fgh.hu')";  
  10. $result = mysql_query($query$kapcsolator die('Query failed: ' . mysql_error());  
  11.   
  12. mysql_close( $kapcsolat )  
  13. ?>  
És így már végre akkor beírja az adatokat az adatbázisba? Mert elvileg az lenne a cél.
8

nézd már meg mit csinálsz!

Hojtsy Gábor · 2006. Jan. 4. (Sze), 16.30
Ezen a ponton már tényleg viccre tudok csak gyanakodni... Nem írtál olyan sok sort, olvasd el mit írtál oda! Beállítod a $query változót a SELECT-re, aztán beállítod a $parancs változót az INSERT-re, de azt sosem használod fel, hanem szépen a $query-ben megadott parancsot használod, tehát lefut a SELECT, az INSERT meg mintha ott sem lenne. Ha nem látod át, hogy mi hova kerül, nem kell ám ennyi változót használni...
  1. <?php  
  2. mysql_connect('localhost''userneved''jelszavad');  
  3. mysql_select_db('adatbazisod');  
  4. mysql_query('INSERT INTO ...');  
  5. ?>  
Ez ugyanúgy megcsinálja amit akarsz (persze hibakezelés nélkül), és legalább látod, mi hol történik, ha már három soron keresztül nem látod, hogy nem ugyanazt a változót használod.
9

"$ize" != $ize

Anonymous · 2006. Jan. 4. (Sze), 18.20
Nekem még az a "$felhasznalo" és "$jelszo" is gyanús... nem kell idézőjel.
10

De egyenlő

fberci · 2006. Jan. 4. (Sze), 18.54
Tényleg nem kell oda idézőjel, de nem hibás a szintakszis.

Üdv.: fberci
11

Egyenlő?

Balogh Tibor · 2006. Jan. 4. (Sze), 21.09
Mondjuk csak ebben az esetben, de felesleges, és nem feltétlenül egyenlő.
  1. <?php  
  2.  $egy_szám = 12;  
  3.  echo is_int("$egy_szám")? "igen":"nem";  
  4. ?>  
12

még nem megy

Anonymous · 2006. Jan. 6. (P), 14.50
  1. <html>  
  2. <body>  
  3. <form action="$PHP_Self" method="POST">  
  4. A kívánt tartomány:  
  5. <INPUT TYPE="text" NAME="tartomany"><br>  
  6. E-mail cím:  
  7. <INPUT TYPE="text" NAME="email"><br>  
  8. <SELECT NAME="nem">  
  9. <option value="N"> Nő  
  10. <option value="F"> Férfi  
  11. </SELECT>  
  12. <INPUT TYPE="submit" value="Elküld">  
  13. </form>  
  14. </html>  
  15. </body>  
  16.   
  17. <?php  
  18. $felhasznalo="*****";  
  19. $jelszo="******";  
  20. $adatbazis="adatbazis1";  
  21. $kapcsolat=mysql_connect("localhost","$felhasznalo","$jelszo");  
  22. mysql_select_db('adatbazis1');  
  23. $query = 'SELECT * FROM tartomanyok';  
  24. $parancs="insert into tartomanyok (tartomany,nem,email)  
  25. values ('$tartomany','$nem','$email')";  
  26. mysql_query($parancs,$kapcsolator die('Query failed: ' . mysql_error());  
  27. mysql_close($kapcsolat);  
  28. ?>  
Amit a <INPUT TYPE="text" NAME="tartomany"> ba írok nem adjat át és nem rakja be az adatbázisba. Hiányzik még valami ???
13

Felesleges

Anonymous · 2006. Jan. 6. (P), 15.20
Áruld már el, hogy a $query változónak minek adsz értéket? Nem hívod meg sehol.
14

register_globals

Hojtsy Gábor · 2006. Jan. 6. (P), 15.36
Nem tudom a feltételezés honnan származik, hogy a $tartomany váltózónak és társainak az űrlap alapján létre kell jönnie, de ez ma már nincs így PHP-ben. A $_GET illetve $_POST tömbben vannak az adatok az űrlapnevek szerint, pl. $_POST['tartomany'] a te esetedben. $PHP_Self soha nem is volt, esetleg $PHP_SELF volt, de ma az is $_SERVER['PHP_SELF'] ugyanezen ok miatt. Ráadásul ha csak úgy beírod a HTML-be anélkül, hogy PHP módba váltanál, akkor nem kerül be a megfelelő érték...
15

egy lehetőség

breakline · 2006. Jan. 9. (H), 01.25
Elvileg meg kell hogy kapjad...

de egyébként mint kezdő, azt tanácsolom, úgy fejleszd az egészet, hogy először nézd meg, működik-e a form az sql-ek nélkül. Lehet amatőrnek hangzik, de kit érdekel, sztem kifejezetten hasznos.
Pl. először ilyesmit:
if (isset($formodneve))
{
echo "$tartomany<br>";
echo $email;
}

az $formodneve az a név amit a form tagben megadsz (neked hiányzik, sztem adj neki valami nevet). Így alapból ellenőrzöd, hogy elküldtek-e formot és nem csak úgy meghívták az oldalt kamu változókkal. Mivel egyik adatot sem ellenőrzöd, így sztem itt felesleges a GET és a POST tömbökből venni a változókat, de ha nem működik próbáld meg ezt : $HTTP_POST_VARS['tartomany']
Ami még gond lehet az az INSERT, bár az az igazság én sem tudom, mit követel meg a Mysql szintaktikája, de én így csinálnám:
mysql_query("INSERT INTO `tartomanyok` ( `tartomany` , `nem` , `email` )
VALUES ('$tartomany', '$nem', '$email');

Gondolom az $query-vel akartad leellenőrizni, van-e már ilyen az adattáblában, az kicsit hiányos így, de ha nem err, akkor mire kell?

Üdv
breakline