Avatar billede lasserasch Juniormester
21. maj 2005 - 03:19 Der er 9 kommentarer og
1 løsning

Fejl på MySQL forespørgelse med ASP kode.

Har følgende kode.

--------------
!--#include file="includes/config.asp"-->
<!--#include file="includes/open_forbindelse.asp"-->


<%
strbrugernavn = request.form("brugernavn")
strPassword = request.form("password")
%>


<%

if (strbrugernavn="") then
  session("msg") = "<br><font size=2><center> Brugernavn eller Password er ikke indtastet korrekt! </center>"
  Response.Redirect "default.asp"


else
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT password FROM brugere WHERE brugernavn = "" & strbrugernavn & """,strConn
if rs.EOF then
response.write "ingen records"
elseif rs("password") = strPassword then
resonse.write "Godkendt"
end if
Set rs = Nothing
end if
%>
<!--#include file="includes/close_forbindelse.asp"-->

-----------------

Selve database forbindelsen laver jeg i en Include fil, og den virker fint. Laver jeg en forespørgelse uden "WHERE brugernavn = osv osv osv" virker det også ganske fint.

Laver jeg nøjagtig samme forespørgelse via PHPMyadmin virker det også fint (Også med WHERE brugernavn =). Men kører jeg forespørgelsen via min ASP fil, kan der ikke findes nogle Records.

Har nogen en ide til hvad jeg gør galt?

Håber på hurtigt svar, selvom klokken er så mange!

Mvh.
Lasse, Kolding
Avatar billede sukos Juniormester
21. maj 2005 - 09:11 #1
"" & strbrugernavn & """
skal det ikke være:
'" & strbrugernavn & "'"

???
Avatar billede lasserasch Juniormester
21. maj 2005 - 13:52 #2
Det skal være "" & strbrugernavn & """ da den sidste " jo lukker SQL forespørgelsen. De 2 andre "" bruges til at angive en variabel.


Jeg har alligevel prøvet dit bud, men uden held!


Mvh.
Lasse.
Avatar billede sukos Juniormester
21. maj 2005 - 15:48 #3
Den her:

Det skal være
"" & strbrugernavn & """
da den sidste " jo lukker SQL forespørgelsen. De 2 andre "" bruges til at angive en variabel.

er jeg nu ikke lige helt med på!
her mangler lidt af hvert, men ok, du siger du har prøvet med mit forslag!

kender intet til asp, men mysql_escape_string() virker måske???
Og det er helt sikkert noget med " og ' ........................................
Avatar billede sukos Juniormester
21. maj 2005 - 15:50 #4
brugernavn = "'" & strbrugernavn & "'"
eller
brugernavn = '" & strbrugernavn & "'"
Avatar billede sukos Juniormester
21. maj 2005 - 15:54 #5
helt klart den sidste!
"Oversat" til PHP

$sql = "SELECT password FROM brugere WHERE brugernavn = '". _POST["brugernavn"] ."'")";

if(false == mysql_query($sql)) {
echo"Fejl: ". mysql_error)();
}else{
...............
}
Avatar billede sukos Juniormester
21. maj 2005 - 15:56 #6
Pis!
$sql = "SELECT `password` FROM `brugere` WHERE `brugernavn` = '". mysql_escape_string(POST["brugernavn"]) ."'";
Avatar billede sukos Juniormester
21. maj 2005 - 15:59 #7
Nå, der er ik' lige noget der vil som det skal!
Anyway, det er garanteret p.g.a. " og ' !!!!!
Avatar billede hmortensen Nybegynder
21. maj 2005 - 19:43 #8
Det skal være sådan som sukos skriver:
rs.Open "SELECT password FROM brugere WHERE brugernavn = '" & strbrugernavn & "'", strConn
Avatar billede lasserasch Juniormester
27. november 2005 - 15:17 #9
Ok, så mangler vi bare lige et svar for at kunne få lukket dette spørgsmål!

/Lasse
Avatar billede lasserasch Juniormester
29. januar 2006 - 18:43 #10
Nå, der kommer åbenbart ikke et svar! Så jeg lukker dette spørgsmål igen!
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
Computerworld tilbyder specialiserede kurser i database-management

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