Gegevens ophalen uit mysql database

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • memo001
  • Registratie: Oktober 2009
  • Laatst online: 04:52
Hee,

Ik ben nogal een beginner in php en mysql. Heb al op internet gezocht en z'n half uur zelf gekloot. Maar ik kom er niet uit!

Ik voer een emailadres in. Dit wordt opgeslagen in $email. Ook wordt er een klant aangemaakt met een uniek klantnr met daarbijhorende emailadres.

Nu wil ik graag in ditzelfde script dat unieke klantnr uitlezen.

Ik heb het zo geprobeerd, maar kwam niet verder:
PHP:
1
2
3
4
5
6
$query = mysql_query("SELECT klantnr FROM klant WHERE email = '$email'");
        if (!$query) { $fout = mysql_error; echo $fout;  
                    }else{  
        $arr = mysql_fetch_assoc($query);
        echo $arr['klantnr'];
        echo $email; }


Mijn uitvoer bedraagt dan alleen $email (geen mysql_error), maar niet het klantnr. Kan iemand mij vertellen wat ik verkeerd doe?

Memo001

[ Voor 22% gewijzigd door RobIII op 20-01-2012 20:40 ]


Acties:
  • 0 Henk 'm!

  • Digital-DNA
  • Registratie: Juli 2000
  • Laatst online: 05-09 14:03

Digital-DNA

Gedigitaliseerd tot op het bot

en als je ipv $email gewoon het betreffende adres invult?

het is gebruikelijk de query eerst los op te slaan en die vervolgens in de functie te stoppen

www.nintendocasemods.com


Acties:
  • 0 Henk 'm!

  • memo001
  • Registratie: Oktober 2009
  • Laatst online: 04:52
Het is zeg maar een aanmeld formulier. $email zal daardoor elke keer anders zijn.

En wat bedoel je met de query eerst los op te slaan?

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22-09 14:14

Matis

Rubber Rocket

$arr is een array van arrays. Gooi het maar eens in var_dump of print_r.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • memo001
  • Registratie: Oktober 2009
  • Laatst online: 04:52
Dankje, hij doet het!

Deze kan dicht

Acties:
  • 0 Henk 'm!

  • Jegorex
  • Registratie: April 2004
  • Laatst online: 03-09 23:24
memo001 schreef op vrijdag 20 januari 2012 @ 19:02:
$query = mysql_query("SELECT klantnr FROM klant WHERE email = '$email'");
Google eens wat een SQL injection is.
Wikipedia: SQL injection

Acties:
  • 0 Henk 'm!

  • tormentor1985
  • Registratie: November 2003
  • Laatst online: 23:13
Als je 1 result ophaald is fetch row sneller en logischer. Neemt daarnaast minder ruimte in.

$query = "SELECT klantnr FROM klant WHERE email = '$email";
$sql = mysql_query($query) or die (mysql_error());
$result = mysql_fetch_row($sql);

print $result[0];

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
memo001 schreef op vrijdag 20 januari 2012 @ 19:28:
Dankje, hij doet het!

Deze kan dicht
Een slotje is niet nodig op een topic als je je oplossing hebt. Zie daarvoor ook onze faq betreffende topiceinde.
Verder: voortaan eerst even debuggen (Debuggen: Hoe doe ik dat?) en als je code post gebruik dan code tags a.u.b. ;)

Tot slot: als je niet hier tussen wil komen staan met je site moet je Jegorex in "Gegevens ophalen uit mysql database" maar eens héél goed doorlezen.

[ Voor 20% gewijzigd door RobIII op 20-01-2012 20:42 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1