Avatar billede miss-g Seniormester
11. marts 2018 - 18:08 Der er 22 kommentarer og
1 løsning

Fejl i kode mysql_select_db

Jeg har en fejl på min hjemmeside:

Fatal error: Uncaught Error: Call to undefined function mysql_select_db() in /var/www/syord.dk/public_html/adm/logind.php:52 Stack trace: #0 {main} thrown in /var/www/syord.dk/public_html/adm/logind.php on line 52

I linje 52 står
mysql_select_db($dbname, $conn);

Kan nogle umiddelbart fortælle mig, hvad der er galt?

Jeg bruger Dreamweaver til at lave hjemmeside med, og det er ikke nemt, når programmet laver koder, som ikke virker IRL... hm.
Avatar billede Slater Ekspert
11. marts 2018 - 18:39 #1
Der sker såmænd bare det, at mysql-funktionerne ikke eksisterer længere i PHP.

Du skal bruge mysqli eller PDO i stedet.
Avatar billede miss-g Seniormester
11. marts 2018 - 18:49 #2
Er det slut med mysql nu? Troede der gik længere tid.

Det er sgi da et kæmpe problem, når Dreamweaver skriver mysql og ikke mysqli. Jeg går ud fra, at det ikke bare er at sætte et "i" bag mysql.. ?
Avatar billede Slater Ekspert
11. marts 2018 - 18:51 #3
I de fleste tilfælde er det faktisk præcis bare det. Mysqli blev lavet som et drop-in replacement til mysql.

Men ja, mysql-funktionerne blev deprecated og smed en advarsel fra PHP 5.5, og siden PHP 7 (som du garanteret har installeret) har de været helt væk.
Avatar billede miss-g Seniormester
11. marts 2018 - 18:56 #4
Ok, så må jeg finde ud af at få Dreamweaver opdateret/købe en udvidelse...

Tak for svar og forklaring :-)
Avatar billede arne_v Ekspert
11. marts 2018 - 19:57 #5
Det er vaerd at bemaerke at der faktisk er lavet en mysqli_select_db, men men men de har byttet om paa argumenterne, saa den simple s/mysql_/mysqli_/ virker ikke.

Koden skal omskrives.

Og skal den omskrives saa var det maaske bedre at omskrive to mysqli OO style eller PDO fremfor til mysqli procedural style.
Avatar billede miss-g Seniormester
11. marts 2018 - 21:46 #6
Tak - ja, fandt ud af min kode er forældet og Dreamweaver simpelthen ikke kan bruges mere, da programmet ikke laver php 7 kode, så jer er lost! Jeg kan ikke programmere, og jeg tror ikke, at jeg magter at lære det - min hjerne vil ikke. Jeg er hovedsageligt designer (fritid). Jeg går i tænkeboks :-)
Avatar billede acore Ekspert
11. marts 2018 - 22:03 #7
Det kan løses med en lille tilføjelse, vil jeg tro.

Se https://www.phpclasses.org/package/9199-PHP-Replace-mysql-functions-using-the-mysqli-extension.html

Ud over at uploade mysql2i.class.php og mysql2i.func.php, skal du tilføje disse linier til din kode:

include_once('mysql2i.class.php');
include_once('mysql2i.func.php');

Det er ikke den smarteste løsning (re sikkerhed etc), men det er den nemmeste.
Avatar billede miss-g Seniormester
11. marts 2018 - 23:06 #8
Den/de sider jeg laver er kun til privat/hobby-brug, så det går nok. Fantastisk hvis det virker, men det er selvfølgelig ikke en langsigtet løsning. Jeg må stadig overveje at lære PHP 7...

Jeg prøver, tusind tak.
Avatar billede nemlig Professor
11. marts 2018 - 23:30 #9
En del webhoteller giver mulighed for at køre med PHP version 5.6.
Jeg vil af sikkerhedsmæssige grunde ikke anbefale det, men i en kort periode til du har en løsning, kan det være en mulighed.
Avatar billede miss-g Seniormester
11. marts 2018 - 23:46 #10
Nemlig ->  Ja, jeg er lige flyttet fra et webhotel, der stadig kører en "gammel PHP" til et nyt webhotel med PHP 7 :-)
Avatar billede miss-g Seniormester
11. marts 2018 - 23:51 #11
Så har jeg testet tilføjelsen https://www.phpclasses.org/package/9199-PHP-Replace-mysql-functions-using-the-mysqli-extension.html, og det spiller ikke rigtigt. Jeg får stadig fejl hist og her. Det er nok Dreamweavers kode, der er noget skidt - så det er svært at oversætte.

Tak for forslaget - havde ellers været genialt :-)
Avatar billede nemlig Professor
12. marts 2018 - 06:22 #12
#10 Hvilket webhotel? Har du tjekket om du har mulighed for at køre med PHP 5.6?
Avatar billede acore Ekspert
12. marts 2018 - 10:13 #13
Det kunne jo være, at dine "hist-og-her" fejl kunne rettes på tilsvarende vis - men dte kræver selvsagt, at du fortæller lidt mere.

Nogle regular expression funcktioner (ereg* functions) er udgået i PHP 7. Det kan være den anden halvdel af dine problemer?

Your call...
Avatar billede miss-g Seniormester
12. marts 2018 - 12:58 #14
Jeg har fundet en (dyr) extension til Dreamweaver, så programmet kan lave mysqli koder i stedet for mysql http://www.webassist.com/product/mysqli . Det er i mysqli kodedelene problemet ligger, ikke? Så hvis jeg køber denne extension må jeg kunne lave "korrekt" PHP 7 koder ??
Avatar billede acore Ekspert
12. marts 2018 - 13:10 #15
Hvis det kun er i mysql at problemet ligger, så vil jeg mene, at det kan løses med mit forslag i #7. Det har jeg selv set virke flere gange, bla på one.com.

Måske du kan løfte sløret for hvilke fejl, då får, når du forsøger?

...og svare på #10 - det vil også hjælpe
Avatar billede acore Ekspert
12. marts 2018 - 13:12 #16
Undskyld - #12 - hvilket web-hotel?
Avatar billede miss-g Seniormester
12. marts 2018 - 13:27 #17
Jeg er flyttet til UnoEuro. Jeg vil dog gerne forsøge at følge med tiden, så hvis jeg kan få Dreamweaver til at lave koder, som PHP 7 kan forstå, så er jeg lykkelig. Jeg kan som sagt ikke kode selv - min hjerne synes, at det er for kringlet....
Avatar billede Slater Ekspert
12. marts 2018 - 13:28 #18
#14: Det er naturligvis op til dig selv, hvis du har pengene at smide ud, men du ved godt du ikke behøver nogen som helst af disse ting for at kunne skrive koden, ikke?

Hvad gør Dreamweaver egentlig for dig? Er det kun code intelligence (altså at den viser navnet og parametrene på funktionerne når du skriver), eller kan den mere end det?
Avatar billede miss-g Seniormester
12. marts 2018 - 13:40 #19
Jo, jeg ved godt at jeg kan bruge alle mulige andre editorer til at skrive kode i - har f.eks. Atom på computeren. Men jeg kan ikke skrive kode selv, derfor bruger jeg Dreamweaver, hvor jeg kan "klikke" og derved vælge f.eks. en log ind funktion. Dreamweaver genererer derved koden og sætter den ind i dokumentet. Jeg kan også godt lide, at jeg kan se designet, mens jeg arbejder - jeg er mere designer end programmør. Er vant til Dreamweaver (Photoshop, Illustrator, m.v.) gennem mange år. Det vil være så ærgerligt at undværre nu - selvom det kun er fritidssysler (jeg er lægesekretær ved siden af) :-)
Avatar billede nemlig Professor
12. marts 2018 - 13:40 #20
Unoeuro tilbyder PHP 5.6 via htaccess.
Avatar billede miss-g Seniormester
12. marts 2018 - 13:41 #21
Tak nemlig - men jeg vil som sagt gerne følge med tiden... ;-)
Avatar billede Slater Ekspert
12. marts 2018 - 13:48 #22
#19: Fair. I så fald er det nok nødvendigt at købe noget, ja. Men jeg tror ikke umiddelbart at mange herinde vil have erfaring med den slags.
Avatar billede miss-g Seniormester
12. marts 2018 - 13:59 #23
Nej, jeg ved godt at Dreamweaver er ved at uddø, især efter at de har fjernet mulighederne med database koder - mange efterspørger det. Men I kan da heldigvis hjælpe med PHP koderne :-)
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

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