Miért nem működik ez a php mysql lekérdezés?
$sql = " SELECT id from users WHERE nickname = '$_POST['name']' "; //17. sor
$lekeres = mysql_query($sql);
if(!isset(mysql_error()))
{
$addressee_user_id = mysql_fetch_assoc($lekeres);
} elseif(isset(mysql_error()))
{
print mysql_error();
}
a 17. sornál dob hibát mikor futtatni próbálom a script-et:
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\messager.php on line 17
A Stringek összefűzéséhez a .-ot használd!
Ez ugye még csak ismerkedés az PHP-vel és az MySQL-el, nem egy netre kerülő rendszer része?!
'$_POST['name']'
Az ' jelek akadnak össze.
DE ez így amúgy is rossz megközelítés.
A mysql_ függvényeket NE használd, helyett mysqli_-t vagy PDO-t és ott is prepared statementekkel dolgozz!
más kódokból szedek ki részeket és így próbálom összehegeszteni a saját script-emet.
php-hez valamenyire értek (nem sokat) viszont a mysql fügvényeket nem ismerem.
Ha a tanulás a cél, akkor ne kódokat pakolgass össze, hanem kezd az alapoktól!
Ha valami működő dolog összerakása a cél, akkor szintén az alapoknál kellene kezdeni és a mysql_ kezdetű függvényeket elfelejteni!
Jobb ha hagyod ezt a dolgot, hogy összedobálod a kódot semmi programozási ismerettel. Legjobb lesz, ha előveszel egy könyvet és abból elsajátítod az alapokat.
Ha már egy lekérdezésben ekkora biztonsági rést hagysz, akkor mire a teljes scriptet megírod, annyi hiba lesz benne, hogy a legamatőrebb programozó is fél perc alatt feltöri a weboldalad.
"más kódokból szedek ki részeket és így próbálom összehegeszteni a saját script-emet. "
Ez a legrosszabb, amit csak tehetsz.
miért nem ajánlatos a mysql_ fügvényeket használni?
ebben a lekérdezésben hol és milyen biztonsági rések vannak és hogy lehet kiküszöbölni?
Ezt ajánlom figyelmedbe!
Ellenőrizetlenül nem rakunk adatokat lekérdezésbe:
$_POST['name']
Ez teljes mértékig alkalmas így MySQL injection-re.
Ezeket a hibákat pedig csak úgy tudod kiküszöbölni, ha megtanulsz normálisan programozni.
Nem értem mit nem lehet azon felfogni, hogy nem kódot kell hegeszteni, és nem másoktól kell a megoldásokat várni. Ráadásul úgy teszel fel kérdéseket, hogy az alapokkal sem vagy tisztában.
Ez kb olyan mintha úgy állnál neki embert műteni, hogy az emberi szerveknek egy részét ismered és tudod, mire való a szike, de orvosi ismereteid ebben ki is merülnek. Ráadásul megkérdeznéd a Gyakori Kérdéseken, hogy:
Jó lesz, ha az első bemetszést a páciens torkán ejtem meg?
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!