[Mysql] kolom uitlezen in query

Pagina: 1
Acties:

  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 30-03 16:56
ik heb het volgende probleem:

ik heb een mysql database waarin alle cellen in een rij zijn gecodeerd met een sleutel, die bij elke rij verschillend is. het coderen is gebeurd door middel van het mysql commando ENCODE.

de sleutel staat in de laatste kolom van een rij.

nu wil ik de hele database in een query kunnen uitlezen, zeg maar zo...

SELECT DECODE(naam,[sleutel]) FROM tabel

hoe kan ik de query zo bouwen dat hij op de plek van [sleutel] zelf de laatste kolom pakt?

  • Peter
  • Registratie: Januari 2005
  • Laatst online: 23-03 22:22
door daar de naam van de laatste kolom in te voeren?

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Ik denk dat de TS een generieke methode wil die de laatste kolomnaam ophaalt.

[ Voor 6% gewijzigd door JKVA op 10-03-2006 19:28 ]

Fat Pizza's pizza, they are big and they are cheezy


  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 30-03 16:56
.Peter schreef op vrijdag 10 maart 2006 @ 19:27:
door daar de naam van de laatste kolom in te voeren?
dat dacht ik ook, maar als ik dat doe krijg ik een mysql error

  • Peter
  • Registratie: Januari 2005
  • Laatst online: 23-03 22:22
Jo-hannes schreef op vrijdag 10 maart 2006 @ 19:29:
[...]


dat dacht ik ook, maar als ik dat doe krijg ik een mysql error
Geef de precieze query dan eens :)

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

hoe ziet de query er dan uit?

Fat Pizza's pizza, they are big and they are cheezy


  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

http://dev.mysql.com/doc/...encryption-functions.html

Daarna even zoeken op "ENCODE and DECODE don't seem to "

Dat lijkt me de oorzaak. :)

Fat Pizza's pizza, they are big and they are cheezy


  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 30-03 16:56
JKVA schreef op vrijdag 10 maart 2006 @ 19:32:
hoe ziet de query er dan uit?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$q=mysql_query("SELECT k FROM klanten");
    
while ($rij=mysql_fetch_array($q)){

    $xx="SELECT DECODE(Code,k) AS code, 
    DECODE(tel,'{$rij[k]}') AS tel, 
    DECODE(email,'{$rij[k]}') AS email,
    DECODE(pcode,'{$rij[k]}') AS pcode,
    DECODE(plaats,'{$rij[k]}') AS plaats,
    DECODE(adres,'{$rij[k]}') AS adres,
    DECODE(nummer,'{$rij[k]}') AS nummer,
    DECODE(bedrijfsnaam,'{$rij[k]}') AS bedrijfsnaam,
    DECODE(Naam,'{$rij[k]}') AS naam
    FROM klanten WHERE k = '{$rij[k]}'";

        while ($xx=mysql_fetch_array($q)){

        }

}


zo ziet het er nu uit, in 2 stapjes zegmaar. maar het is de bedoeling om nog te sorteren, en dat kan zo niet met mysql zelf.

@JVKA: kanniet vinden?

edit: scheel gekeken, dat is inderdaad precies het probleem, is het dus helemaal niet mogelijk?

[ Voor 22% gewijzigd door Bio op 10-03-2006 19:45 ]


  • --MeAngry--
  • Registratie: September 2002
  • Nu online

--MeAngry--

aka Qonstrukt

Gooi om te beginnen al je kolom en tabelnamen eens tussen backticks ( ` ), daar voorkom je een hoop ellende mee, waarschijnlijk werkt het dan wel. :)

Dus ipv code gebruik je dan `code`, waarschijnlijk is code een gereserveerd woord en daarom wil het niet werken.

[ Voor 28% gewijzigd door --MeAngry-- op 10-03-2006 19:46 ]

Tesla Model Y RWD (2024)


  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 30-03 16:56
--MeAngry-- schreef op vrijdag 10 maart 2006 @ 19:46:
Gooi om te beginnen al je kolom en tabelnamen eens tussen backticks ( ` ), daar voorkom je een hoop ellende mee, waarschijnlijk werkt het dan wel. :)

Dus ipv code gebruik je dan `code`, waarschijnlijk is code een gereserveerd woord en daarom wil het niet werken.
als ik het tweede argument van DECODE tussen backticks zet krijg ik ook een mysql queryfout.
ik zal het zometeen eens proberen met AES_ENCRYPT en AES_DECRYPT. volgens mij is dat iets soortgelijks

  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 30-03 16:56
Het probleem is nu opgelost. ik gebruik nu inplaats van ENCODE en DECODE: DES_ENCRYPT en DES_DECRYPT, hierbij kan je als tweede argument wel een kolomnaam kiezen.

allemaal bedankt!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 10:16
Waar ik wel benieuwd naar ben is wat het precieze nut is van de encryptie wanneer je de sleutel bij de data bewaard. Het doet me een beetje denken aan een fietsslot waar je het sleuteltje in laat zitten...

Regeren is vooruitschuiven

Pagina: 1