Vinnaren i pepparkakshustävlingen!
2008-05-01, 21:04
  #1
Medlem
kallebass avatar
Jag försöker använda MD5() funktionen i mysql men när jag kör denna query:
Kod:
select COUNT(*) from users WHERE passhash=MD5(secret,'qwe',secret);

Där passhash och secret är kolumner i tabellen users.

Jag får följande error:

Kod:
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 ''qwe',secret)' at line 1
Vad är felet med min query?
Citera
2008-05-01, 21:13
  #2
Medlem
vådkas avatar
mig veterligen så tar md5 funktionen en parameter, testa :
Kod:
select COUNT(*) from users WHERE passhash=MD5(secret+'qwe'+secret);
Citera
2008-05-01, 21:18
  #3
Medlem
kallebass avatar
Tack för det snabba svaret nu fungerar det, fast jag får upp ett flertal varningar:
Kod:
1 row in set, 5 warnings (0.00 sec)
| Warning | 1292 | Truncated incorrect DOUBLE value: 'password' | 
| Warning | 1292 | Truncated incorrect DOUBLE value: 'password' | 
| Warning | 1292 | Truncated incorrect DOUBLE value: 'password' | 
| Warning | 1292 | Truncated incorrect DOUBLE value: 'password' | 
| Warning | 1292 | Truncated incorrect DOUBLE value: 'password' |
__________________
Senast redigerad av kallebas 2008-05-01 kl. 21:32.
Citera
2008-05-01, 21:56
  #4
Medlem
metapods avatar
Kod:
1 row in set, 5 warnings (0.00 sec)
| Warning | 1292 | Truncated incorrect DOUBLE value: 'password' | 
| Warning | 1292 | Truncated incorrect DOUBLE value: 'password' | 
| Warning | 1292 | Truncated incorrect DOUBLE value: 'password' | 
| Warning | 1292 | Truncated incorrect DOUBLE value: 'password' | 
| Warning | 1292 | Truncated incorrect DOUBLE value: 'password' |

.:[.response]
Ovanstående felmeddelanden får du eftersom +-operatorn inte är till för att användas tillsammans med text.
Om du istället vill lägga ihop två, eller flera, strängar rekommenderar jag dig att använda funktionen concat.

.:[Exempel med concat]
Kod:
mysql> SELECT concat('ab','cd','ef');
+------------------------+
| concat('ab','cd','ef') |
+------------------------+
| abcdef                 |
+------------------------+
1 row in set (0.00 sec)

.:[Källor]
Citera
2008-05-01, 22:27
  #5
Medlem
kallebass avatar
tack, fungerade felfritt när jag använde concat
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback