Mi lehet a hiba ebben a mysql lekérdezésben?
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.
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?
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.
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?
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
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!