Kezdőoldal » Számítástechnika » Programok » Mi lehet a hiba a MySQL...

Mi lehet a hiba a MySQL Query-ben?

Figyelt kérdés

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.


2015. jún. 27. 23:22
 1/7 anonim ***** válasza:

$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.

2015. jún. 27. 23:28
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
És kezdj el áttérni mysqli -re, php.net -en találsz sok infót hozzá, sima mysql kapcsolat már támogatott, elavult és támadható is, nem sokkal bonyolultabb mysqli-t használni.
2015. jún. 27. 23:29
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
*már nem támogatott
2015. jún. 27. 23:29
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:

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);

?>

2015. jún. 27. 23:31
 5/7 A kérdező kommentje:
Rendben, akkor átírom MySQLi-re.
2015. jún. 27. 23:31
 6/7 anonim ***** válasza:
Php tomboknek is nezz utana akkor, fetch assoc az asszociativ tombbe alakitja a lekerdezes eredmenyet. De lehet az alapoktol kene kezdened ha ez sincs meg. W3schools-on vannak php leckek, azok ezt is bemutatjak.
2015. jún. 27. 23:40
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:

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.

2015. jún. 27. 23:42
Hasznos számodra ez a válasz?

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

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!