xela Δημοσ. 18 Απριλίου 2006 Δημοσ. 18 Απριλίου 2006 Ψάχνω εδώ και μέρες, πως θα συνδέσω sql server 2005 με php και κατέλληξα σε αυτή την εντολή και στον παρακάτω κώδικα > $myServer = "ALEXIS"; $myUser = "sa"; $myPass = "123456"; $myDB = "Northwind"; $s = mssql_connect($myServer, $myUser, $myPass) or die("Couldn't connect to SQL Server on $myServer"); $d = mssql_select_db($myDB, $s) or die("Couldn't open database $myDB"); $query = "SELECT TitleOfCourtesy+' '+FirstName+' '+LastName AS Employee "; $query .= "FROM Employees "; $query .= "WHERE Country='USA' AND Left(HomePhone, 5) = '(206)'"; $result = mssql_query($query); $numRows = mssql_num_rows($result); echo "<h1>" . $numRows . " Row" . ($numRows == 1 ? "" : "s") . " Returned </h1>"; while($row = mssql_fetch_array($result)) { echo "<li>" . $row["Employee"] . "</li>"; } αλλά δεν συνδέεται. Γνωριζεις κάποιος πως θα το κάνω επιτέλους να δουλέψει? ευχαριστώ πολύ OS:windows 2003 with IIS 6.0
bandito Δημοσ. 18 Απριλίου 2006 Δημοσ. 18 Απριλίου 2006 ....OS:windows 2003 with IIS 6.0 Αν μας έγραφες και το error που βγάζει καλα θα ήταν. Δοκίμασε : α) αντι για ALEXIS να βάλεις localhost β) Ο sql server εχει enabled το tcp? telnet localhost 1432 θα σε πείσει. γ) αν το β δεν παιζει , κοιτα μήπως υπαρχει κανενα firewall που κοβει την 1433
damn3 Δημοσ. 18 Απριλίου 2006 Δημοσ. 18 Απριλίου 2006 μήπως πρέπει να ενεργοποιήσεις το mod_mssql ή κάπως έτσι στις ρυθμίσεις php.ini ?
xela Δημοσ. 18 Απριλίου 2006 Μέλος Δημοσ. 18 Απριλίου 2006 Αν μας έγραφες και το error που βγάζει καλα θα ήταν. Δοκίμασε : α) αντι για ALEXIS να βάλεις localhost β) Ο sql server εχει enabled το tcp? telnet localhost 1432 θα σε πείσει. γ) αν το β δεν παιζει ' date=' κοιτα μήπως υπαρχει κανενα firewall που κοβει την 1433[/quote'] To κουλό είναι ότι δεν βγάζει error.Δηλαδή πάω στον IE και FF πατάω localhost που ειναι ο τοπικός web server και έχω σωσμένο το αρχείο με τον παραπάνω κώδικα σαν index.php και δεν μου βγάζει τπτ.Κενή άσπρη σελίδα. Βάζω στον κώδικά μου ένα echo sth και μου το βγάζει αλλά μέχρι το πρώτο die εκει φαντάζομαι ότι για κάποιο λόγο σκάει. 1)το έχω δοκιμάσει αλλά πάλι τα ίδια. 2)μήπως εννοεις και στα 2 την port 1433 που είναι η default.Τις δοκίμασα και τις 2 πάντως στην μεν 1432 μου βγάζει ότι δεν μπορεί να κάνει connect στην δε 1433 συνδέεται. Πάντως από E:\windows\system32\cliconfg.exe έχω κάνει enable το tcp/ip και μου βγάζει default port την 1433. @damn3 το έχω "πειράξει" έχω ενεργοποιήσει μέσα από php.ini το αντίστοιχιο extension για τον mssql.
manitaroulis Δημοσ. 18 Απριλίου 2006 Δημοσ. 18 Απριλίου 2006 Upothetw oti o SQL Server einai sto idio mixanima (ara topiki ip = 127.0.0.1) 1) Start => run => cmd => telnet 127.0.0.1 1433 An maurisei i othoni tote ola ok. Kleise to parathuro. 2) anoikse ena arxeio kai sostw ws test.php mesa grapse $db=mssql_connect("127.0.0.1","sa","sa_pass") or die ("ton ipies"); $d=mssql_select_db("NorthWind", $db); $sql = "SELECT Picture FROM Categories WHERE CategoryId=2"; $res = mssql_query($sql); mssql_close(); kai dokimase
xela Δημοσ. 18 Απριλίου 2006 Μέλος Δημοσ. 18 Απριλίου 2006 Upothetw oti o SQL Server einai sto idio mixanima (ara topiki ip = 127.0.0.1)1) Start => run => cmd => telnet 127.0.0.1 1433 An maurisei i othoni tote ola ok. Kleise to parathuro. ο web server τρέχει με ip 192.168.1.64 οπότε αλλάζοντας το ip address και βάζοντας το δικό μου μαυρίζει η οθόνη.οπότε η port 1433 ειναι ανοικτή. 2) anoikse ena arxeio kai sostw ws test.php mesa grapse $db=mssql_connect("127.0.0.1"' date='"sa","sa_pass") or die ("ton ipies"); $d=mssql_select_db("NorthWind", $db); $sql = "SELECT Picture FROM Categories WHERE CategoryId=2"; $res = mssql_query($sql); mssql_close(); kai dokimase[/quote'] Προσαρμόζοντας τον κώδικα σου δλδ από $db=mssql_connect("127.0.0.1","sa","sa_pass") σε $db=mssql_connect("192.168.1.64","sa","123456") πάλι παίρνω άσπρη οθόνη.ούτε μήνυμα ούτε τπτ.
bandito Δημοσ. 18 Απριλίου 2006 Δημοσ. 18 Απριλίου 2006 ο web server τρέχει με ip 192.168.1.64 οπότε αλλάζοντας το ip address και βάζοντας το δικό μου μαυρίζει η οθόνη.οπότε η port 1433 ειναι ανοικτή. Προσαρμόζοντας τον κώδικα σου σου δλδ από $db=mssql_connect("127.0.0.1"' date='"sa","sa_pass") σε $db=mssql_connect("192.168.1.64","sa","123456") πάλι παίρνω άσπρη οθόνη.ούτε μήνυμα ούτε τπτ.[/quote'] Δεν πιστευω να ειναι Sql Server Express?
xela Δημοσ. 18 Απριλίου 2006 Μέλος Δημοσ. 18 Απριλίου 2006 Οχι. SQL server 2005 enterprise edition παράλειψη μου που δεν το ανέφερα.
clairvoyant Δημοσ. 18 Απριλίου 2006 Δημοσ. 18 Απριλίου 2006 μπορεί και να κάνω λάθος, αλλά για να δούμε το error μήπως πρέπει να ενεργοποιήσεις στο php.ini το display_errors = On αφαιρώντας το ερωτηματικό από μπροστά του;
xela Δημοσ. 18 Απριλίου 2006 Μέλος Δημοσ. 18 Απριλίου 2006 μπορεί και να κάνω λάθος' date=' αλλά για να δούμε το error μήπως πρέπει να ενεργοποιήσεις στο php.ini το display_errors = On αφαιρώντας το ερωτηματικό από μπροστά του;[/quote'] ΑΨΟΓΟΣ... κάτι κάναμε.ευχαριστώ πολύ. οπότε το μήνυμα που μου βγάζει τώρα Fatal error: Call to undefined function mssql_connect() in E:\Inetpub\wwwroot\index.php on line 7 όπου line 7 είναι > $db=mssql_connect("192.168.1.64","sa","123456") or die ("ton ipies");
bandito Δημοσ. 18 Απριλίου 2006 Δημοσ. 18 Απριλίου 2006 ΑΨΟΓΟΣ...κάτι κάναμε.ευχαριστώ πολύ. οπότε το μήνυμα που μου βγάζει τώρα Fatal error: Call to undefined function mssql_connect() in E:\Inetpub\wwwroot\index.php on line 7 όπου line 7 είναι > $db=mssql_connect("192.168.1.64","sa","123456") or die ("ton ipies"); που σημαίνει οτι δεν έχεις mssql drivers στην πραγματικότητα
xela Δημοσ. 18 Απριλίου 2006 Μέλος Δημοσ. 18 Απριλίου 2006 1)έχω βγάλει το ερωτηματικό στο php.ini στην γραμμή που λέει extension=php_mssql.dll 2)Το αρχείο php_mssql.dll υπάρχει και στον folder της php αλλά και στο windows/system32 υπάρχει κάτι άλλο που πρέπει να κάνω? κάτι να φορτώσω? και πως μπορώ να επιβεβαιώσω ότι φορτώνονται οι drivers???
clairvoyant Δημοσ. 19 Απριλίου 2006 Δημοσ. 19 Απριλίου 2006 xela να σε ρωτήσω, ο server τρέχει σε άλλο PC; (Αναρωτιέμαι γιατί η IP που δίνεις δεν είναι 127.0.0.1). Αν ναι, πρέπει να εγκαταστήσεις τα MS SQL Client Tools που λογικά θα υπάρχουν στο CD του SQL Server. ΥΓ: απ' ότι διαβάζω, ίσως αρκεί να αντιγράψεις το αρχείο NTWDBLIB.DLL από το CD του SQL Server στο Windows\System32 (αν το κάνεις, ή αν εγκαταστήσεις τα SQL Client Tools, κάνε και μια επανεκκίνηση μετά για να είμαστε σίγουροι)
xela Δημοσ. 19 Απριλίου 2006 Μέλος Δημοσ. 19 Απριλίου 2006 ΕΠΙΤΕΛΟΥΣ ΕΠΙΤΕΛΟΥΣ ΕΠΑΙΞΕ έχουμε και λέμε.Φίλε clairvoyant αυτό το είχα κάνει.Αλλά κάπου διάβασα ότι μόνο με την έκδοση του NTWDBLIB.DLL και στην έκδοση 8 και πάνω παίζει.Για την ακρίβεια 8,00,194.εγώ είχα την 7 και την άλλαξα στην 8 που την βρήκα http://webzila.com/dll/1/ntwdblib.zip ή αμα δεν υπάρχει εκεί εδώ http://www.webzila.com.Για να ελέγξουμε ότι τα έχει βρει και τα φορτώσει πάμε Ψ:\windows\system32\cliconfg.exe και το ελέγχουμε στην καρτέλα DB-Library Options. Μετά αφού το έκανα αυτό reset τον IIS ,μου τα βρήκε και μου έβγαλε το εξής μήνυμα ....Login failed for user .... αυτό λύνεται ως εξής πάμε στο php.ini ->ctrl+f-> και γράφουμε mssql.secure_connection αυτό αν ειναι on το κάνουμε off. reset τον IIS από cmd γράφοντας iisreset.και ξαναδοκιμάζουμε. Επιτέλους ύστερα από 3βδομάδες τρελού ψαξίματος php+sql server παίζουν....... Ευχαριστώ όλα τα παιδιά που βοήθησαν.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.