Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: MySQL hakija

remontti-reiska [18.04.2004 21:10:51]

#

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

T.M. [18.04.2004 21:14:10]

#

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

leftover [18.04.2004 22:39:32]

#

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?

ajv [18.04.2004 22:43:48]

#

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.

leftover [19.04.2004 12:11:09]

#

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]";.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta