Der findes ikke en boolsk type i mysql. du kan fx. lave det til et talfelt, og bruge 0 for false og 1 for true. Eller et tekstfelt og bruge 'false' og 'true' (husk '-erne)
1. showemail = tinyint 2. MySQL er stadig forholdsvis nyt for mig: Hvad hedder talfeltet? 3. Med tekstfelt mener du varchar(5)? 4. Kan du give et eksempel med 'true' og 'false'?
lenn: line 130 = SQL = "UPDATE profiles SET showlastseen=" & showlastseen .......
nielle: jeg kan ikke rigtigt se, at dit eksempel udskriver? Eller hva'? :)
DEBUG: UPDATE profiles SET showlastseen=false, showstatus=false, address1='Min adresse nr. XX', showaddress1=false, address2='', showaddress2=false, zip='', showzip=false, email='min@email.dk', showemail=false, phoneathome='', showphoneathome=false, cellphone1='', showcellphone1=false, cellphone2='', showcellphone2=false, description='Mere profiltekst kommer senere.', lastseen='15-06-2005 20:55:09', lastIP='min.ip.adresse.lige_nu' WHERE username='steen_hansen'
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-nt]Unknown column 'false' in 'field list'
/edituser.asp, line 134
Det virker som om, det er dét med de boolske værdier, der skal ændres. Jeg er gået fra MS Access over til MySQL, så der er nok en del, der skal rettes til. :)
Hvis jeg lige kan få genopfrisket hvad et talfelt hedder, så kunne jeg prøve at tjekke på, om værdien er 1 eller 0. Er værdien 0, ønsker man ikke at vise de respektive data. Omvendt ønsker man at vise dem, hvis værdien er 1. Det må være sådan? :)
Det er lige præcis det er der galt: MySQL bruger 0 og 1 i stedet for true og false (eller er det false or tue? Jeg kan aldrig huske hvilken).
Når din update indeholder ting som:
showaddress2=false
- så opfatter MySQL derfor ikke dit ”false” som en bool-værdi. I stedet tror MySQL derfor at false simpelthen er navnet på et af de andre felter i din tabel. Da den forståeligt nok ikke kan finde et sådant felt brokker den sig med:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE username='steen_hansen'' at line 1
edituser.asp, line 234 = Conn.Execute mySQLstr
Har du tid/lyst til at kigge på den? Jeg kan ikke se fejlen, og opretter gerne et nyt spørgsmål.
Umiddelbart kan jeg ikke se andet (men jeg har nu heller ikke lige vildt meget tid her om morgenen). Imidlertid har du jo stadig din DEBUG udskrift så kunne du ikke lige poste her hvad den resulterer i?
PS: Husk nu at slette DEBUG udskriften når du er helt færdig. Den skal ikke med i den færdige version af koden.
nielle, jeg er klar over det kun er til at debugge med, den er ikke med ellers :)
DEBUG:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE username='steen_hansen'' at line 1
Erik, så ikke lige dit indlæg fra 13/07-2005 01:14:29, da havde jeg lukket ned og var på vej i seng. Men det er jo rigtigt, jeg havde heller ikke komma i det oprindelige lige før WHERE. Det er sket efter jeg har fjernet et par linier, og jeg havde glemt at fjerne kommaet. Jeg skylder en kvajebajer, sorry :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.