$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.