Osaako joku sanoa mikä vikana alla olevassa kyselyssä:
$kysely = mysql_query("SELECT * FROM mopot WHERE Merkki = '$_POST['merkki']'");
tuohon riviin siis viittaa virheilmoitus, olen koittanut tuota muuttaa vaikka miten mutta aina sama juttu - ei toimi.
mysql-kysely
6
427
Vastaukset
- eikunvaan
Helpottais jos tietäisi minkä virheilmoituksen tulostaa?
Oletko kokeillut näin:
$kysely = mysql_query("SELECT * FROM mopot WHERE Merkki = ' ".$_POST['merkki']." ' ");
Eli lainausmerkit ja merkkijonoliitos tuohon $_post:in ympärille?- mutta....
sain toimimaan, niin että enää valittaa viimeistä riviä koodissa:
Parse error: syntax error, unexpected $end in... on line 40
ja tuolla ei ole kuin .... - eikunvaan
mutta.... kirjoitti:
sain toimimaan, niin että enää valittaa viimeistä riviä koodissa:
Parse error: syntax error, unexpected $end in... on line 40
ja tuolla ei ole kuin ....Jostain on sulta unohtunut sulkea hakasulku }
- Vaan näin
Jos jostain syystä haluat kerjätä ongelmia käyttämällä antiikkisia mysql-funktioita niin muista filtteröidä kaikki käyttäjiltä saamasi merkkijonot ensin ei-sallittujen merkkien varalta ja sen jälkeen eskapettaa ne merkkijonot käyttäen funktiota mysql_real_escape_string(). Myös magic_quotesin päälläolo pitää tarkastaa, jos tuotantoympäristö ei ole tarkasti tiedossa, ja tarvittaessa ajaa kaikki käyttäjien syötteet stripslashes()-funktion lävitse. Em. vaiheet ovat pakollisia jos olet skriptiäsi laittamassa julkisesti esille, eikä yhtäkään niistä voi jättää välistä.
Vanhentuneiden mysql-funktioiden sijasta on parempi kuitenkin käyttää PDO:ta:
// Filtteröi käyttäjän syöte
$merkki = preg_replace('/[^a-z]/', '', $_POST['merkki']);
// Luo tietokantayhteys
try {
$dbh = new PDO('localhost', 'tunnus', 'salasana');
}
catch (PDOException $e) {
die($e->getMessage();
}
// Suorita kysely
$stmt = $dbh->prepare('SELECT * FROM mopot WHERE Merkki = ?');
$stmt->execute(array($merkki));
// Sijoita mopot taulukkoon
$mopot = $stmt->fetchAll();- Vaan näin
// Luo tietokantayhteys
try {
$dbh = new PDO('mysql:localhost;dbname=tietokanta', 'tunnus', 'salasana');
}
catch (PDOException $e) {
die($e->getMessage());
} - fjjfa
Toki PDO:n functioita kannattaa käyttää tai sitten MYSQLI:n mikäli tietää että vain MySQL tullaan käyttämään, MYSQLI on hieman monipuolisempa kuin PDO.
Tuossa sinun esimerkissäsi ihmetyttää
// Filtteröi käyttäjän syöte
$merkki = preg_replace('/[^a-z]/', '', $_POST['merkki']);
Mitä tuolla saavutetaan?
Aika outoa olisi jos tietokannassa merkki muutettaisiin noin.
Ja tuota sinun esimerkkiäsi muuttaisin niin, että jos kysely epäonnistuu niin se antaisi poikkeuksen ja se siepattaisiin. Näin virheenkäsittely on helppoa.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Riikka Purra leikkasi alimmalta tulodesiililtä 15 %
Muistaako kukaan Riikka Purran kovaäänisen vaalilupauksen ennen eduskuntavaaleja? https://yle.fi/a/74-20221152 "THL o3296247Muistele nainen niitä meidän yhteisiä hetkiä
Miltä ne tuntui? Enkö aina huokunut välittämistä, kiintymystä. Eikö sinulla aina ollut hyvä olo kanssani? Minulla ainaki483706Sofia Virta: bänet!
Matkailuautoilija metsänomistaja puoliso on nyt entisen teeren poikia, ja Sofia tekee comebackin vapaille markkinoille.1502893"Suomi voisi ottaa taloudessa oppia Espanjasta"
"Espanjassa talouspolitiikka on löysempää, mutta velka-aste on kääntynyt jopa laskuun.", pohdiskelee Suomen seuraava pää2272200Kokoomus: SDP johtaa kansalaisia harhaan
(Umpityhmät palstademarit ovat taas uskoneet Lindtmanin höpötykset Espanjasta.) SDP harhaanjohtaa kansalaisia talouspol1071763- 721292
Niin että miten
Haluatko oikeasti olla minun kanssa oikeassa elämässä, vai onko tämä vain kirjoittelua831112Nuoriso on tyhmää tutkijat ovat todenneet
Nyt se on todettu ääneen mitä kaikki ovat jo pitkään epäilleet. Nuoriso on tyhmentynyt tasaiseen tahtiin. Kohta pitää ni145983Ikävä tilanne rikoksen vuoksi Espanjassa - Jari Sillanpää pistää uutta matoa koukkuun
Jari Sillanpää on ehkä yksi suosituimmista tangokuninkaallisista. Ex-tangokuningas juhli viime syksynä 30 vuotista uraan10968Tätä ei tv:ssä: Farmi-tippuja Amski rehellisenä ongelmista kuvauksissa
Ennakkosuosikki Amskidabamski Anne-Mari Tarkkio joutui ulos Farmi Suomi -realitystä. Voimatehtävässä vastakkain asettui11914