ugrás a tartalomhoz

mysql hiba

bnc1995 · 2011. Szep. 23. (P), 17.01
Sziasztok

A segítségeteket szeretném kérni. Ezt a hibaüzenetet kapom:

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 '' at line 1

Ez a kód:
  1. <?php  
  2. if (!emptyempty($_POST['nick']) && (!emptyempty($_POST['PW']) && (!emptyempty($_POST['PW2']) &&   
  3. (!emptyempty($_POST['MAIL']) && (!emptyempty($_POST['NEP']) && (!emptyempty($_POST['TAJ'])))))))  
  4.      {  
  5.       if (isset($_POST['elfogad']) and $_POST['elfogad'] == 1)  
  6.          {  
  7.           if ($_POST['PW'] == $_POST['PW2'])  
  8.               {  
  9.                  
  10.                $mysqlconnec= mysql_connect("localhost""root");  
  11.                $mysqlselect= mysql_select_db("users");  
  12.                 
  13.                $mysqlinsert= mysql_query("INSERT INTO server1(ID,nick,PW,MAIL,NEP)");  
  14.                 
  15.                print mysql_error();  
  16.               }  
  17.          else  
  18.              {  
  19.               print "A jelszó nem egyezik!";  
  20.              }  
  21.          }  
  22.       else   
  23.       {  
  24.       print "Nem fogadtad el a feltételeket!";  
  25.       }  
  26.      }  
  27. else {  
  28.       print "Nem töltöttél ki minden mezőz!";  
  29.      }  
  30. ?>  
segítségeteket előre is köszönöm

Bence
 
1

Javasolnám a dokumentáció

H.Z. v2 · 2011. Szep. 23. (P), 17.17
Javasolnám a dokumentáció tanulmányozását, különös tekintettel az INSERT szintaxisára!

Segítek kicsit:

A server1 táblába akarsz beszúrni egy sort úgy, hogy az ID,nick,PW,MAIL,NEP mezőknek adsz értéket. Épp csak az értékek hiányoznak...
(VALUES(...))
-------------------------
vagy itt is van valami trükk a MySQL-ben, ami miatt nem szükséges a values?
2

Akkor így kell kinéznie?

bnc1995 · 2011. Szep. 23. (P), 17.24
  1. $mysqlinsert= mysql_query("INSERT INTO server1(ID,nick,PW,MAIL,NEP) VALUES($_POST['nick']),$_POST['PW'],$_POST['MAIL'],$_POST['NEP']");    
3

Nagyon súlyos biztonsági rés

bb0072 · 2011. Szep. 23. (P), 17.32
Nagyon súlyos biztonsági rés és potenciálisan hibák forrása, ha a klienstől érkező változókat ellenőrzés nélkül írod be egy sql querybe. Használd ezt!
4

nem értem

bnc1995 · 2011. Szep. 25. (V), 21.28
utánanéztem és a leírások alapján erre jutottam:
  1. $mysqlconnec= mysql_connect("localhost""root");  
  2.                $mysqlselect= mysql_select_db("users");  
  3.                  
  4.                $mysqlinsert= mysql_query("INSERT INTO server1(nick,PW,MAIL,NEP) VALUES(1,'x','y',2)");  
  5.                  
  6.                $myselect = mysql_query("SELECT * FROM server1 WHERE ID=1 ");  
  7.                print $myselect;  
  8.                print mysql_error();  
de ezt az eredményt adja:

Resource id #4

miért?:S
5

Tán nézd meg, mit ad vissza a

H.Z. v2 · 2011. Szep. 25. (V), 21.33
Tán nézd meg, mit ad vissza a mysql_query! (nem a select olvasható eredményét, hanem egy resource-t, amiből talán mysql_fetch() függvénnyel és társaival lehet kiolvasni a tényleges eredményt...)
A root user használatát meg felejtsd el! Privilegizált usert nem használunk, hacsak nincs feltétlenül szükség a plusz jogosultságokra!
Keress valami PHP-MySQL tutorialt, ami leírja, hogyan kell megcsinálni az ilyen dolgokat!