$muuttuja = $_SERVER["QUERY_STRING"]; $yhteys = mysql_connect("","",""); //valitaan tietokanta mysql_select_db("phpplaza", $yhteys) or die("Tietokantaa ei löytynyt!"); //haetaan kaikki tavarat $kysely = "SELECT * FROM Koodipatkatttt WHERE nimi = '$muuttuja'" or die(mysql_error()); //käydään tavarat läpi for ($tietue = 0; $tietue < @mysql_num_rows($kysely); $tietue++) { $nimi = mysql_result($kysely, $tietue, "kpnimi"); $salasana = mysql_result($kysely, $tietue, "kuvaus"); $arvo = mysql_result($kysely, $tietue, "koodi"); echo "$tunnus"; echo "$salasana"; echo "$arvo"; } mysql_close($yhteys);
Eli pientä korjausta tarvitsisin. Eli koodin tarkoitus olisi hakea (esim. koodit.php?teksti) MySQL taulusta osoiterivin ? merkin jälkeisen merkkijonon.
Ja miksi tämä ei värjää tuota koodia vaikka on oikeat kooditagit?
lainaus:
Ja miksi tämä ei värjää tuota koodia vaikka on oikeat kooditagit?
Vastauksen saat tiiraamalla omaa viestiäsi:
https://www.ohjelmointiputka.net/keskustelu/4651-mysql
Nythän $muuttuja = "?teksti" eli ei vastaavuutta ellei kannassa ole myös ?teksti. Lisäksi PHP jättää parseroimatta hipsujen sisällön (myös lainausmerkkien sisällä) ellet käytä kaarisulkeita ympärillä eli WHERE nimi = '{$muuttuja}'.
Kolmanneksi, entä jos syötän kysymysmerkin perään "'; DROP DATABASE 'phplaza" ja käytössäsi on PHP:stä versio 4.01 tai aikaisempi?
leftover kirjoitti:
Lisäksi PHP jättää parseroimatta hipsujen sisällön (myös lainausmerkkien sisällä) ellet käytä kaarisulkeita ympärillä eli WHERE nimi = '{$muuttuja}'.
Oletko nyt aivan varma tuosta? Itse olen ainakin noissa mysli-kyselyissä käyttäny aina hipsuja, ja hyvin on toiminu!
edit:
<?php $muuttuja = 4; print "'$muuttuja'"; // tulostaa '4' ?>
edit2: Ja vastaus tuohon reiskan ongelmaan:
Kannatta varmaan myös toteuttaa tuo $kysely. Eli sulta siis puuttuu $result = mysql_query($kysely);
ja sit käyt ton resultin läpi.
ajv kirjoitti:
Oletko nyt aivan varma tuosta? Itse olen ainakin noissa mysli-kyselyissä käyttäny aina hipsuja, ja hyvin on toiminu!
No kyllä pirskutarallaa näköjään toimii. Varmaan haamu menneisyydestä (ajalta 4.01 ennen PHP-laskumme alkua) :D Tosin tuo on melko hyvä tapa opetella, ei tarvitse tuskailla miksi moniulotteinen array ei suostu tulostumaan echo "jep $tiedot[$eka][$toka]";.
Aihe on jo aika vanha, joten et voi enää vastata siihen.