Mi lehet a hiba a MySQL Query-ben?
Sziasztok!
Egy egyszerű login scriptet írok a weboldalamhoz gyakorlásként PHP-ban, mikor lekérem a weboldallal egy mező tartalmát gyakorlatilag nem kapok vissza semmit, ezt a szoftverrel külön ellenőriztem, ha ugyanezt a kódot beírom PHPMyadminba akkor visszakapom a megfelelő értéket.
Kód
-----
Kapcsolódás:
<?php
$sql_server = "-";
$sql_user = "-";
$sql_password = "-";
$sql_database = "-";
$link = mysql_connect($sql_server, $sql_user, $sql_password);
if (!$link) {
die('Kapcsolat sikertelen: ' . mysql_error());
}
$db_selected = mysql_select_db('bbv', $link);
if (!$db_selected) {
die ('Nem sikerult kapcsolodni az adatbazishoz: ' . mysql_error());
}
?>
Lekérdezés:
<?php
$usr = $_POST["username"];
$pw = $_POST["password"];
$query = mysql_query("SELECT password FROM userlogin WHERE username='asd'");
$result = mysql_query($query);
$row = mysqli_fetch_assoc($result);
echo $row;
if (mysql_num_rows($result)==0) { echo "Nem mukodik"; }
mysql_close($link);
?>
Ha a mysql_query()-t echo-zom ki akkor azt kapom ,hogy resource #3, ha a $row-t akkor pedig gyakorlatilag semmit. mysql_num_rows($result)==0 mindig igaz.
Előre is köszi a segítséget.
$query = mysql_query("SELECT password FROM userlogin WHERE username='asd'");
$result = mysql_query($query);
Lefuttatsz egy lekérdezést, majd a visszatérési értékét ismét le akarod lekérdezésként, ezt gondold át.
Igaz, rossz kód.
Javítottam idáig viszont most pedig azt adja vissza, hogy Array.
<?php
$query = mysql_query("SELECT password FROM userlogin WHERE username='asd'");
$row = mysql_fetch_assoc($query);
echo $row;
if (mysql_num_rows($row)==0) { echo "Nem mukodik"; }
mysql_close($link);
?>
1. Mint az előttem írók írták: használj mysqli-t vagy PDO-t.
"$usr = $_POST["username"];
$pw = $_POST["password"]; "
2. Az űrlaptól érkezett adatokat mindig szűrd, mert egy rosszindulatú delikvens SQL-injection technikával szépen kárt okozhat az adatbázisban vagy a rendszerben/illetéktelen hozzáférést szerez. Mysqli-ben ez ellen van a mysqli_real_escape_string(), PDO-ban a prepared statement.
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!