WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   mysql_connect funkar inte (https://www.wn.se/forum/showthread.php?t=12205)

Seattlegrunge 2006-02-05 19:42

Skulle vara jättetacksam för hjälp, för jag har kanske målat in mig i ett hörn?!

Sen tidigare har jag en Win XP-burk med IIS 4 eller 5 som testserver och på den har jag PHP 4.3.4 och MySQL 3.23.29 vilket fungerar kalasbra.

Nu har jag satt upp en ny servermiljö med Windows Server 2003 Enterprise Edition. Har installerat PHP 5.1.2 vilket fungerar bra, sen har jag installerat MySQL 5.0.18 och den verkar fungera bra. Har skapat MySQL-användare som är exakt likadana som på min Win XP-burk och dessutom "rippat" en databas rakt av för att testa och se att allt fungerar som det ska, men det gör det inte :(

Jag surfar in på en php-sida, det fungerar fint. När jag sen kommer till en sida som ska connecta mot MySQL-databasen så fungerar det inte. Jag har kört echo för att se var i scriptet felet kan ligga, och när mysql_connect körs slutar det att fungera. Jag får inte upp några felmeddelanden heller, därförjag kört lite echos för att se var det tar stopp.

Min mysql_connect ser ut som följer:
mysql_connect($server, $user, $password) or die("Ingen kontakt med databasen: " . mysql_error());

Det enda som är skillnaden mot min gamla server är ett annat IP-nummer och att MySQL inte ligger installerat under C:\mysql, utan under D:\db.

Vad är det som stoppar min mysql_connect?
Det lustiga är att min klient, MySQL-Front fungerar fint, jag loggar in med samma användare som när jag connectar via php, och det funkar. Jag får upp databaserna och tabellerna.

Please hjälp mig!

freakalis 2006-02-05 19:54

Tror jag har lösningen på ditt problem

Mysql bytte till en säkrare typ av lösenord runt version 4.1

Antingen kan du göra såhär http://dev.mysql.com/doc/refman/5.0/en/old-client.html

eller så använder du numera mysqli istället för mysql http://se2.php.net/manual/en/ref.mysqli.php

Seattlegrunge 2006-02-05 19:58

Jag testade att connecta mot MyAQL-databasen med ASP (Server.CreateObject("ADODB.Connection")) och det fungerar fint.

Då känns det alltså som att det är PHP (nåt i php.ini kanske?) som inte hittar min MySQL-databas.

När jag kör gd_info() så spottar den iaf ut rätt sökväg till min MySQL-databas på tre ställen:

Path D:\db\MySQL\MySQL Server 5.0\bin
_SERVER["Path"] D:\db\MySQL\MySQL Server 5.0\bin
_ENV["Path"] D:\db\MySQL\MySQL Server 5.0\bin

freakalis 2006-02-05 20:09

Testa och anslut med mysqli_connect i php så skall du se att det funkar

Seattlegrunge 2006-02-05 21:07

Tack! Ska testa det, dock är jag lite osäker på vad som är skillnaden mellan vanliga och mysqli_connect.

Och det där med säkrare lösenord från version 4.1. Jag kör version 4.3.4 på den gamla versionen, plus att min nya databas på nya servern är en ren installation, inga backuper är från gamla är installerade på den nya, utan jag har bara kört lite sql-querys för att få upp tabellstrukturen för vissa databaser för att testa.

Men med mysqli kanske det fungerar. Dock är jag inte helt med på hur de menar för att jag ska aktivera det. Jag installerade PHP med installer-version (CGI) som ställer in PHP helt default, eller hur man nu ska förklara :)

hnn 2006-02-05 21:12

Har du laddat in MySQL modulen i PHP????

Seattlegrunge 2006-02-05 21:20

Citat:

Originally posted by hnn@Feb 5 2006, 22:12
Har du laddat in MySQL modulen i PHP????
Vad innebär det? Det har jag nog inte gjort nej :)

Sorry, jag är inte helt haj på detta... jag är ju "uppvuxen" med MsSQL och ASP :)

kullervo 2006-02-05 22:46

Citat:

Originally posted by Seattlegrunge@Feb 5 2006, 19:42
Min mysql_connect ser ut som följer:
mysql_connect($server, $user, $password) or die("Ingen kontakt med databasen: " . mysql_error());

Jättebra att du kom på att göra det själv, men vad ger den för output?

Slå på så du ser alla felutskrifter (sökord: E_ALL, error_reporting) från PHP eller kolla i felloggen. Orka gå omkring med ögonbindel och klaga på att det är mörkt. "Nu blev det kvällen. Vaffö då?"

Seattlegrunge 2006-02-05 22:55

Jag får inga felutskrifter alls, fast jag har följande i php.ini:

error_reporting = E_ALL; display all errors, warnings and notices.

Dvs jag har inget semikolon framför, så då är det ju påslaget.

Hittar ingen fellogg för php, borde inte den finnas i php-mappen under C:?

EDIT: som jag har förstått det så måste jag installera mysqli, men jag förstår inte installationsdirektiven:

http://se2.php.net/manual/en/ref.mysqli.php

Seattlegrunge 2006-02-05 23:08

När jag installerade PHP använde jag mig av den exekverbar installationsfilen som är så enkel o smidig, men missar då en massa extensions o sånt... kan kanske vara en idé att göra om allt med fullversionen av PHP i zipformat? fast det löser nog inte mitt problem här... dock får man nog problem med GD o sånt längre fram?!?!


Alla tider är GMT +2. Klockan är nu 05:34.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson