WHERE sName LIKE '%' + ? + '%'
Hej
Jag undrar hur man bäst kan använda ADODB.Command Prepared statment då användaren skickar en sökning från ett formulär till en databas, i detta fallet MySQL.
Med ADODB.Connection brukar det vara lätt att använda t.ex
" WHERE sName LIKE '%" & sSearchString & "%' "
" OR sAddress LIKE '%" & sSearchString & "%' "
Men detta är väl inte lämpligt med tanke på risken för SQL-injection. Jag vill heller inte filtrera sSearchString.
Så därför testade jag ett Prepared statment ...
" WHERE sName LIKE %?% "
" OR sAddress LIKE %?% "
....
Com.Parameters.Append Com.CreateParameter("Data1", 129, 1, 255, sSearchString)
Com.Parameters.Append Com.CreateParameter("Data2", 129, 1, 255, sSearchString)
Men det godkänns inte som syntax
Har också provat ...
" WHERE INSTR(CONCAT(sName, sAddress), ?) > 0 "
Men detta ger mig huvudbry eftersom det inte ger svar på vissa frågor som man vet finns i DB.
Detta verkar funka men ger jobbigt mycket kod om man ska kolla många kolumner...
" WHERE INSTR(sMemberNr, ?) > 0 "
" OR INSTR(sName, ?) > 0 "
Så jag undrar hur ni brukar göra?
Tackar för alla synpunkter och tips
Ha det /PG
