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
341
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
Ukrainan ulkoministeri: Moskova aistii tappion Ukrainassa
Dmytro Kuleban mukaan Venäjä yrittää puheillaan pelotella länsimaita. Ukrainan ulkoministerin Dmytro Kuleban mukaan Venäjän esittämät varoitukset kol2614283Stefu haikailee
Julkaisi stooreissa kuvan vickestä. Sitten Martinasta treenaamassa Hangossa ulkona. Hmm.2653487Harmi mies ettet arvostanut
Minua tarpeeksi. Myöhemmin kaikki olisi palkittu ja olisin antanut sinulle aitoa rakkautta. Tämä sattuu mutta yritän ajatella, että ehkä se rakkaus ku1541817Oi! Legandaarinen Vesa-Matti "Vesku" Loiri, 77, poseeraa kahdessa eri kuvassa - Some riemastui!
Vesa-Matti "Vesku" Loiri on kyllä legenda jo eläessään. Hienoa nähdä, että virtaa piisaa. Voimia, iloa ja eloa, Vesku! https://www.suomi24.fi/viihde251707Lavrov väläyttelee WW3:sta
Venäjän ulkoministeri Sergei Lavrov varoittaa, että kolmannen maailmansodan uhka on todellinen. Lavrov sanoi venäläiselle uutistoimisto Interfaxille,2981443Ketä Sofia fanit veikkaatte seuraavaksi lompakoksi?
Kenestä Sofia höynäyttää itselleen seuraavan lompakon?133950Voiko hyvää omatuntoa ostaa?
Olen tässä nyt muutaman päivän paininut erään rahaan liittyvän pulman kanssa. Kerron ensin vähän taustaa ... Eli erosin 15 vuoden parisuhteesta 9 vuo235863en vaan saa häntä pois
Mielestäni pyörimästä. Onko kellekään toiselle käynyt näin? Ihastuin pakkomielteisesti noin vuosi sitten erääseen naiseen. Ei vaan katoa mielestä va115852Suomi24 kysely: ihmisten kuplautumista ei pääosin koeta vakavaksi ongelmaksi
“Kuplautumista on mahdotonta estää. Ihmiset ovat aina viihtyneet samankaltaiset arvot ja maailmankatsomuksen jakavassa seurassa ja muodostaneet sen pe18849