webForumDet fria alternativet

ASP, PHP + MySQL

16 svar · 367 visningar · startad av Zerephina

ZerephinaMedlem sedan sep. 2000206 inlägg
#1

Sitter i valet och kvalet med en ny MySQL db. Helt novis på det. Jag har bara kört ASP+Access.

Funderade ett tag på att köra med PHP, men det känns tråkigt att lära sig nått nytt när jag äntligen fått lite fart. Jag har också en hel det sidor redan som jag hoppas att jag kan återanvända.

Jag har lyckats snurra igång DBn med ett vansinnigt långt "connection". Känns som att man borde kunna korta den lite. Tidigare har det ju räckt med en 3-5 rader. Eller?

Försöker mig också på en SQL-sats och insåg ju snabbt att även den ser annorlunda ut.

Efter att ha klurat ut det så vill jag nu bara skriva ut en post. Men jag får det inte alls att fungera. Så jag har ju insett att något är annorlunda. Men hur mycket? Är det idé att forsätta med ASP eller är det lika att byta till PHP när det ändå skiljer?

Hoppas att ni förstår mitt något sömniga inlägg :P

Nu ska jag ut med hundarna och jag hoppas att det sitter nån annan nattuggla vaken nånstans...

PoffeMedlem sedan apr. 20022 743 inlägg
#2

SKillnaden mellan Access och MySQL är inte stor kodmässigt. Det kan vara något SQL-kommando som skilljer bara.

I kopplingen till databasen är det bara en rad som behövs ändras.

Visa lite kod på vad som inte fungerar så ska vi nog kunna hjälpa dig.

ZerephinaMedlem sedan sep. 2000206 inlägg
#3

Tidigare så har jag ju kört:

<%
Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "DSN=databas.com_hemma;UID=;PWD="

SQL = "SELECT * FROM farg"

rs.Open SQL, MinCon
%>

Nu får jag inte ut ett skvatt... Har märkt att man ska använda ; bland annat... Men ett hederligt

<%=rs("farg")%>

Fungerar ju inte
:bla

PoffeMedlem sedan apr. 20022 743 inlägg
#4

Vad menar du med att man ska använda ;?

Du får inte ut något? Får du några felmeddelanden, är det någon data i databasen?

Kolla på http://www.connectionstrings.com för att hitta vilken connectionstring du ska anävnda.

MinCon.Open "connectionstring"
ZerephinaMedlem sedan sep. 2000206 inlägg
#5

(Såg faktiskt en uggla nu när jag var ut...)

Jag har en låååång sträng som fungerar så kontakt med Db får jag. Så den får jag väl fila på tills senare. Men den fungerar och jag har kontakt med DB och jag har saker i den också.

Min enda SQL-sats som den inte gnällde på såg ut så här

SQL = 'SELECT * FROM farg';

Men det kanske är helt galet?

PoffeMedlem sedan apr. 20022 743 inlägg
#6

Ja det är galet. Det ska vara som i ditt första inlägg

SQL = "SELECT * FROM farg"

Connectionstringen ska inte vara speciellt lång, detta brukar vara den man behöver

"DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=myDatabase;USER=myUsername;PASSWORD=myPassword;OPTION=3;"
ZerephinaMedlem sedan sep. 2000206 inlägg
#7

Nyss funkade det inte och nu funkade det... Jag är aldeles för trött för detta, men jag har ju hela dagen sett fram emot att få börja med den nya :)

Men jag får inte ens ut en sträng... Vet inte om det är SQL-satsen eller recordset som inte fungerar. Jag tror på det senare.

Ja ja... Tror att det är för basic :p

ZerephinaMedlem sedan sep. 2000206 inlägg
#8

Ja jag får inte till rs.open, eller vad det nu ska vara till denna...

Expected ';' 

/nya/index3.asp, line 28 

rs.Open SQL, Conn
@ndersMedlem sedan juni 200032 969 inlägg
#9

Hur ser koden ut nu alltså?

ZerephinaMedlem sedan sep. 2000206 inlägg
#10

Nu ska vi se här då... Å nej, jag vet inte riktigt vad jag gör... Jag har alltåd fått en färdig kod. Men inställningarna är rätt, så där får jag kontakt, även om jag ny bytt ut mina uppgifte som lösen och så...

 var strConnstring = "Driver={MySQL ODBC 3.51 Driver};" +
    "Server=mysql.basen.se;" +
    "Port=3306;" +
    "Option=131072;" +
    "Stmt=;" +
    "Database=basen_se;" +
    "Uid=basen;" +
    "Pwd=losen";

  var oConn = Server.CreateObject("ADODB.Connection");
  var oRs = Server.CreateObject("ADODB.Recordset");
  var strSQL = "";
  var intCount = 0;
  var ErrItem = Server.CreateObject("ADODB.Error");
  var e = new String();
  
SQL = "SELECT * FROM farg"
rs.Open SQL, Conn
@ndersMedlem sedan juni 200032 969 inlägg
#11

Om du använder JScript som scriptspråk måste du avsluta alla kodrader med semikolon.

strSQL = "SELECT * FROM farg";
oRs.Open (strSQL, oConn);

Du måste också se till att du använder "rätt" namn på dina variabler och objekt (dvs; var konsekvent.)

ZerephinaMedlem sedan sep. 2000206 inlägg
#12

Tack! Att det var nått med semikolon var jag inne på igår. Då var jag inne på rätt spår alltså.

Jag testade också med oRs (utan framgång så klart) men missade strSQL, där måste felet vara...

:i

@ndersMedlem sedan juni 200032 969 inlägg
#13

Du hade även angett fel connectionobjekt (Conn istället för oConn), så felet kan ha varit lite allt möjligt. :)

mvh

ZerephinaMedlem sedan sep. 2000206 inlägg
#14

Nåja nu ska du inte vara så petig ;) (nä skojar bara)

Men nu fick jag det att fungera. Tack tack!!

Men jag gillar inte "anslutningen" eller vad jag nu ska kalla den för. Ska se om jag kan hitta nått annat. Hela koden i sig är bra mycket längre än det jag skrev ut...

Men nu vet jag att det i princip är som vanligt... *tummen upp*

@ndersMedlem sedan juni 200032 969 inlägg
#15

Det går att göra koden lite mer lättläst (i alla fall för mina ögon. ;) )

  var strConnstring = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=mysql.basen.se;PORT=3306;DATABASE=basen_se; USER=basen;PASSWORD=losen;OPTION=131072;";

  var oConn = Server.CreateObject("ADODB.Connection");
  var oRs = Server.CreateObject("ADODB.Recordset");
  var strSQL = "SELECT * FROM farg";
  var intCount = 0;
  var ErrItem = Server.CreateObject("ADODB.Error");
  var e = new String();

oRs.Open (strSQL, oConn);

I denna kod använder du inte intCount, error-objektet eller e, så de tre raderna kan du ta bort (om du inte använder de senare i koden vill säga.)

Mvh

ZerephinaMedlem sedan sep. 2000206 inlägg
#16

Fast sen är det 100 rader med olika:

  if (oConn.State != adStateOpen)
  {
    Response.Write("Ett fel uppstod när databasen skulle öppnas.<br>\n");
    if (oConn.Errors.Count > 0)

osv. Det är väl där jag känner att jag måste rensa.

Har ingen aning om jag använder e eller inte, har som sagt tidigare kört mot Access och använt 3-4 rader. Så jag förstår ju en del av det här, men inte riktigt det där java-köret... (Har fått det färdigt bara) Nu ska jag bara importera lite poster (24.000 ;))och se hur det fungerar *spännande* Men jag ska bara gör en sida tills jag löst det med "anslutningen". Känns lite onödigt att ändra 100 sidor sen :D

ZerephinaMedlem sedan sep. 2000206 inlägg
#17

En sista dum fråga... Jag får inte " & _ att fungera. Har testat de i alla kombinationer med ; ...

SQL = "SELECT * FROM hast WHERE hast_id = 115 ";

Jag skulle ju vilja få koden på två rader...

Men annars har jag lyckats snurra igång det =)

135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)