MySQL lekérdezés feltétellel
Szeretnék készíteni egy egyszerű szótárprogramot. A szavakat adatbázisban tárolom( adatbázis:szotar tábla:szotar). Van egy lap amin be kell írni a fordítandó szót.
A kódja ez:És van még egy lap ami feldolgozza.
A kódja ez:Nagyon kéne segítség mert elakadtam.
Előre is köszönöm!
■ A kódja ez:
<html>
<head>
<title>
Szótár
</title>
</head>
<body bgcolor="lightskyblue">
<h1>Fordító</h1>
<form name="szotar" method="post" action="fordito.php">
<label for="angol">Angol </label>
<input type="text" size="10" name="ang" id="angol"><br />
<label for="magyar">Magyar</label>
<input type="text" size="10" name="magy" id="magyar">
<input type="submit" value="Fordítás" style="width: 74px">
</form>
</body>
</html>
A kódja ez:
<?php
$magyar= $POST_[magyar]
$angol= $POST_[angol]
mysql_connect("localhost","root","") or exit("paff");
mysql_select_db("szotar") or exit("puff");
if ($magyar = null){
print mysql_query(".SELECT magyar FROM `szotar` WHERE angol= $angol.");
}
else {
print mysql_query(".SELECT angol FROM `szotar` WHERE magyar= $magyar.");
}
mysql_close();
?>
Előre is köszönöm!
$magyar= $POST_[magyar] Nincs
$magyar= $POST_[magyar]
Nincs $POST_ nevű globális tömb. Előre definiált változók.
if ($magyar = null){
Tipikus hiba. Összehasonlító operátorok.
A
<?php
utáni első sorba írd be, hogyerror_reporting(E_ALL | E_STRICT);
, így minden hibáról értesülni fogsz. A hibaüzenetekre utána rá tudsz keresni, hogy mi mit jelent.Meg még
Harmadikként pedig álljon itt a vesszőparipám (Gábor kedvence): ne használd a mysql_ függvényeket, használj mysqli-t vagy PDO-t, azon belül is prepared statementeket, mert így legalább amíg fogalmad sincs arról, mi az az SQL injection, addig is védve vagy ellene.
Persze, ezek sem elvetendő
A pontosvesszőkkel azért
Viccet félretéve, a prepared statementekkel pont azt nyeri, hogy amíg nem tart ott, addig különösebben nem kell foglalkoznia az SQL injectionnel (de legalább most már hallott róla), mert a legegyszerűbb formái ellen védve lesz. Plusz ha ennyire az elején tart, akkor azzal is jól jár a pdo/mysqli választásával, hogy nem az elavult mysql_ függvényeket tanulja meg, és ha esetleg egy olyan környezetbe fut bele, ahol ezek az elavultságuk miatt le vannak tiltva, akkor nem fog koppanni.
Ezzel tisztában vagyok, mint
Pontosvessző
Hibakeresés
Egyszerű hibakeresés.
Nem online
post
Új kód
Köszönöm!!!
Ez így nem fog működni.
Akkor fordulj hozzáértőkhöz, ha már megcsináltad a házi feladatodat.