Hej,
Jag har under en längre tid utvecklat en sida lokalt på min bärbara dator. Installerat på denna dator har jag WAMP (En bundle med Apache, MySQL och phpMyAdmin). Det har inte varit något problem så långt ögat når med denna konfiguration.
Men nu när jag hade laddat upp hela projektet till mitt webbhotell Aleborg så har sql-koden börjat spöka. Inledningsvis hade jag problem med tabellnamnen som inte konverterades på ett korrekt sätt. Därför valde jag att lokalt på min dator enbart köra med små bokstäver. De felmeddelanden jag får nu hänvisar till mina SQL-satser. Jag har svårt att avgöra vad felet är eftersom det fungerar utan problem på min bärbara dator.
Nu har jag kontrollerat att den version Aleborg webhotell kör med är 3.23.49 medan jag lokalt använder 4.1.7. Detta kan mycket väl vara ett av problemen. En annan misstanke jag har är att det är mina nästlande sql-satser som inte har något stöd i 3.23.49 medan 4.1.7 har det?!
Någon som varit med om detta tidigare. Jag vill inte börja ända för mycket i min SQL-kod innan jag lyckats klarlägga orsaken till det hela.
Synpunkter och tips mottages tacksamt! :)
@ndersMedlem sedan juni 200032 969 inlägg
En annan misstanke jag har är att det är mina nästlande sql-satser som inte har något stöd i 3.23.49 medan 4.1.7 har det?!
Det stämmer. Subqueries stöds från och med version 4.1 av MySQL.
Då kan man bara hoppas på att webbhotellet som jag för övrigt tycker fungerar bra uppgraderar till en senare MySQL-version.
@ndersMedlem sedan juni 200032 969 inlägg (Tråden flyttas från SQL till Databashanterare)
Mvh
MatteMedlem sedan aug. 20002 975 inlägg
lillebror skrev:
Då kan man bara hoppas på att webbhotellet som jag för övrigt tycker fungerar bra uppgraderar till en senare MySQL-version.
Det "abbonemanget" jag har på Aleborg använder 4.1.11.
Jag ligger på Obelix (FreeBSD/PHP5).
Kör du inte ASP kanske det går att flytta dit.
Nemän där ser man. Jag har också mitt "abonnemang" hos Aleborg. När jag körde phpinfo() upptäckte jag att de använde en "gammal" version av MySQL som nu uppenbarligen inte stödjer subqueries och de har jag en hel drös av i min kod :)
Mitt webbhotell ligger fnv på servern Baltazar...Är det det som är problemet?
MatteMedlem sedan aug. 20002 975 inlägg Det kan vara så.
Kolla med Aleborg.
Obelix kör register_globals Off och PHP5.
Anser du dig ha kod som fixar detta skulle du kunna kolla om du får flytta.
PHP5 är lite känsligare för "halvtaskig" kod.
Om du måste ha register_globals satt går detta att fixa med en htaccess.
register_globals, vad styr den för något? dum fråga kanske? :OO
MatteMedlem sedan aug. 20002 975 inlägg Det är den som gör att du t.ex. kan använda $variabel istället för $_POST['variabel'] för ett värde som kommer från ett formulär.
Motsvarande gäller för $_GET, $_COOKIE, $_SESSION etc.
Men du bör i vilket fall, oberoende av inställning på register_globals, använda $_POST-arrayen o.s.v., så det ska inte ha någon större betydelse.
Nu såg jag att den var satt till ON på Aleborg. Det ska inte påverka $_SESSION alltså vid ett eventuellt serverbyte om register_globals skulle vara satt till OFF?
MatteMedlem sedan aug. 20002 975 inlägg Nej, men använder du gammal fulkod med session_register() o.s.v. så kommer den inte att fungera.
Överlag så ställer dessutom PHP5 något större krav på koden.
Har du bara något sånär välskriven kod så ska det inte vara några problem.
Jag har inte så mycket erfarenhet av hur dåligt skriven kod ser ut. Med det menar jag inte att min kod skulle vara perfekt men jag känner ändå att den är uppbygt på ett logiskt och strukturerat sätt.
Har du något exempel på "gammal fulkod"? :)
MatteMedlem sedan aug. 20002 975 inlägg Jag kommer inte på något exempel på rak arm, men jag vet att jag testat kodsnuttar som har givit notiser/varningar på sådant som inte gett dessa meddelande på PHP4.
Ser du till att inte använda odefinierade variabler, låter bli att dubbelboka sessionsvariabler och liknande så bör det inte vara några problem.
Med dubbelboka sessionsvariabler menar jag saker typ:
$var = $_SESSION['var'];
där du har samma namn på variabeln som index i sessionsarrayen.