Avatar billede dank Nybegynder
02. september 2003 - 00:42 Der er 11 kommentarer og
1 løsning

kludrer rundt i sql statement syntax

$sql = "UPDATE `web_passwords` SET `master` = \'2\', `ftp` = \'3\', `mail` = \'4\' WHERE `id` = \'90310\' LIMIT 1";

mysql_query($sql)or die(mysql_error());

giver fejl... nogen der kan hjælpe mig?
Avatar billede ohmish Nybegynder
02. september 2003 - 00:51 #1
prøv med:

$sql = "UPDATE web_passwords SET master = '2', ftp = '3', mail = '4' WHERE id = '90310' ";

mysql_query($sql) or die(mysql_error());
Avatar billede jakoba Nybegynder
02. september 2003 - 00:54 #2
di der \ tegn er overflødige
og eftersom du bruger gode enkle tabel og kolonnenavne er alle de der `-tegn også overflødige.
og når en værdi du skriver er et tal er det (igen) overflødigt at skrive ' omkring. det er kun strenge der behøver anførselstegn.

$sql = "UPDATE web_passwords SET master = 2, ftp = 3, mail = 4 WHERE id = 90310 LIMIT 1";

mvh JakobA
Avatar billede dank Nybegynder
02. september 2003 - 00:57 #3
ok fint nok.. undrer mig bare over det, de var jo generet af phpmyadmin's "create PHP code" funktion.. men det er nok mig der gør et eller andet forkert. :o/

jacoba> skal du også have et par point?
Avatar billede jakoba Nybegynder
02. september 2003 - 01:00 #4
$tal = 123456;    // dette er et tal.
                  // det er nemt at se hvornår et tal begynder og ender
$str1 = "Jørgen Olsen";  // dette er en streng
                  // med lidt god vilje kan vi gætte hvornår den ender og begynder
$srt2 = "Jørgen + Olav"  // detter er også en streng
                  // uden anførselstegn ville php tro det var et regnestykke og blive totalt forvirret.

Der skal altid " omkring bogstaverne i en streng. Der skal ikke anførselstegn om de bogstaver der danner en talværdi.
Avatar billede jakoba Nybegynder
02. september 2003 - 01:01 #5
nej tak :)
Avatar billede Slettet bruger
02. september 2003 - 01:01 #6
Det der med om man skal bruge ' ' omkring værdierne - selvom man skriver tal, er der delte meninger om : http://www.eksperten.dk/spm/368005

:)
Avatar billede ohmish Nybegynder
02. september 2003 - 01:02 #7
jakoba> overflødighed fremkalder ikke fejl?
Avatar billede dank Nybegynder
02. september 2003 - 01:05 #8
ok.. takker.
Avatar billede Slettet bruger
02. september 2003 - 01:06 #9
ohmish: Jow det gør det sku. Keep it simple.
Avatar billede jakoba Nybegynder
02. september 2003 - 01:13 #10
ohmish : enig. det var kun \ tegnene der var devideret fejl-fremkaldende.

merkur8 : jeps. og min holdning er at kontrol af at der ikke forsøges en insertetion er en separat test som man ikke bør misbruge php's automatiske typekonvertering til.

dvs

if ( is_numeric( $passcode ) ) {
    // brug $passcode i din sql_kommando (iden anførselstegn)
} else {
    // dårligt input eller et forsøg på insertion
}

mvh JakobA
Avatar billede Slettet bruger
02. september 2003 - 01:15 #11
Og min er, at man både skal validere input - og bruge ' ' om værdierne (unset kolonne type man indsætter til).
Avatar billede jakoba Nybegynder
02. september 2003 - 01:57 #12
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester