ugrás a tartalomhoz

Változó feltöltése mysql táblába phpvel

Anonymous · 2006. Jún. 13. (K), 15.17
# Apache Web Server Version 2.0.55
# PHP Script Language Version 5.1.1
# MySQL Database Version 5.0.16
# phpMyAdmin Database Manager Version 2.6.4-pl4

A php kódom:

mysql_connect($host,$username,$password);
@mysql_select_db("$dbname");
$sqlquery = 'INSERT INTO entablam (`nev`, `jelszo`) VALUES ($name, $pass)';
$results = mysql_query($sqlquery);
mysql_close();

A probléma az h nem teszi a rekordot a táblába. :(
Köszönöm előre a segítséget!
 
1

hibakeresés

breakline · 2006. Jún. 13. (K), 15.32
Próbáld meg ezt:

<?php
echo 'INSERT INTO entablam (`nev`, `jelszo`) VALUES ($name, $pass)'; 
?>
majd menj a phpmyadmin-ba, és ott az sql lekérdezés részre, és írd be, így megkapod a mysql hibaüzenetét. Most nekem nem egyértelmű, de lehet szintaktikai hiba is, vagy esetleg valamelyik változódnak rossz/nincs értéke, stb..

Megjegyzés: Az "@" karaktert sohase használd, mielőtt véglegesítenéd a kódod, hiszen teszteléis fázis alatt sohasem tudhatod, hogy nem pont az-e a hiba. Az "@"-et sztem ott érdemes használni, ahol számítasz valami hibára (pl. néha létező file-t szeretnél megnyitni, vagy hasonló), de mindenképp ez legyen az utolsó dolog, amit beírsz a kódba.:)

üdv
BL
2

Idézőjel

Poetro · 2006. Jún. 13. (K), 15.32
Talán az idézőjeleket lehagytad.
A javított kód kb így kellene hogy kinézzen:
<?php
mysql_connect($host,$username,$password);
@mysql_select_db("$dbname");
$sqlquery = 'INSERT INTO entablam (`nev`, `jelszo`) VALUES ("'.
  mysql_real_escape_string($name)
  .'", "'.
  mysql_real_escape_string($pass)
  .'");';
$results = mysql_query($sqlquery);
mysql_close();
?>
Vagy:
<?php
$sqlquery = sprintf('INSERT INTO entablam (`nev`, `jelszo`) VALUES
  ("%s", "%s");', 
  mysql_real_escape_string($name), mysql_real_escape_string($pass));
?>
4

müxik

Anonymous · 2006. Jún. 13. (K), 15.48
Nagyon köszi, az első működött, a másikat nem próbáltam.
3

Mi a hiba?

Anonymous · 2006. Jún. 13. (K), 15.33
Egyáltalán mi a hiba?
mysql_error() mit mond?

Így látatlanban szerintem annyi, hogy az értékeket is (amennyiben szövegek) aposztrófok közé kell tenni: VALUES ('$name', '$pass')