Kezdőoldal » Számítástechnika » Programozás » Mi lehet a hiba ebben a mysql...

Mi lehet a hiba ebben a mysql lekérdezésben?

Figyelt kérdés

Sziasztok, van egy olyan problémám,hogy olyat akarom megoldani, hogy mysql adatbázisban kikeresni egy adott nevet egy bejelentkezett felhasználóval, nem ír ki semmilyen hibát a php csak egyszerűen nem kéri le az egyik adatát a keresett játékosnak, nincs még beleírva, hogy ellenőrizze le, hogy létezik-e egyáltalán a karakter, de ide kimásolom az egészet:


<?php

session_start();

include("config.php");

include("secure.php");

$jatekosnev = $_SESSION['id'];

mysql_connect($my_host, $my_user, $my_pass);

mysql_select_db($my_base);

$query = "SELECT * FROM playerek WHERE id='$jatekosnev'";

$lekerdezes = mysql_query($query);

$adatok = mysql_fetch_array($lekerdezes);


$frakcio = $adatok['Member'];

$adminszint = $adatok['Admin'];


if (isset($_POST['jatekoskereses'])) {


$jatekoskereses = $_POST['jatekoskereses'];


$jatekosquery = "SELECT * FROM playerek WHERE id='$jatekoskereses'";

$jatekoslekerdezes = mysql_query($jatekosquery);

$jatekosadatok = mysql_fetch_array($jatekoslekerdezes);


$jatekoskeres_adminszint = $jatekosadatok['Admin'];

echo "Szint: $jatekoskeres_adminszint"; }


A html és egyéb felesleges részt nem másoltam ki.

Hol lehet a gond?

Segítségeteket illetve válaszaitokat előre is köszönöm.


2012. márc. 24. 15:40
 1/6 anonim ***** válasza:

Nem tudom ránézésre, de annyira egyszerű a programod, hogy gyorsan megtalálod a hibát ha minden sor után echo-zol egyet. Tudsz csatlakozni az adatbázishoz? A query-k a megfelelő szöveget tartalmazzák (echo!)?


mysql_connect($my_host, $my_user, $my_pass);


ezek a változók honnan jönnek?

2012. márc. 24. 15:48
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
Megoldva
2012. márc. 24. 15:52
 3/6 A kérdező kommentje:

A probléma az volt, hogy itt ennél a sornál: -> $jatekosquery = "SELECT * FROM playerek WHERE id='$jatekoskereses'"; <-

A WHERE id= nél az id helyett ezt kellet volna írnom: Nev

A Nev oszlopban tárolja a neveket, így bakiztam, figyelmetlen voltam.

2012. márc. 24. 15:53
 4/6 anonim ***** válasza:
vigyaz mert a kodod tamadhato SQL injekcioval
2012. márc. 25. 10:25
Hasznos számodra ez a válasz?
 5/6 A kérdező kommentje:

Akkor még a végére illesszem ezt be esetleg?


mysql_close($mysqlcsatlakozas);


És ezt erre változtatom:


$mysqlcsatlakozas = mysql_connect($my_host, $my_user, $my_pass);


Vagy, hogyan védhetem ki a SQL injectiót?

2012. márc. 25. 12:16
 6/6 anonim ***** válasza:

a valtozoknal hasznald mysql_real_escape_string($valtozonev) fugvenyt

$jatekosquery = "SELECT * FROM playerek WHERE id='".mysql_real_escape_string($jatekoskereses)."'";

igy a felshasznalo nem teheti a sajat mysql kodjat a $jatekoskereses be

2012. márc. 28. 15:51
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!