Creating a MySQL database connection in PHP

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
Johny76
Δημοσιεύσεις: 91
Εγγραφή: 13 Μαρ 2005 10:44
Τοποθεσία: 7 χιλιόμετρα δυτικά της Αθήνας

Creating a MySQL database connection in PHP

Δημοσίευση από Johny76 » 02 Νοέμ 2005 19:06

Έχω εγκαταστήσει php, έχω δημιουργήσει testing server με τεχνολογία PHP (c:\Inetpub\wwwroot\mysite) εγκατέστησα τη MySQL, και δημιούργησα μία database. Μόλις όμως πάω να φτιάξω database connection στην php σελίδα μου, μου βγάζει λάθος. Δίνω
όνομα server localhost
username root αφού στο configuration wizard της mysql δε μου ζήτησε πουθενά username
password to mypassword
και database το όνομα της database μου.
Όμως βγάζει λάθος. Τι φταίει; Πρέπει η βάση να βρίσκεται στο c:\Inetpub\wwwroot\mysite ή φταίει κάτι άλλο (κάτι με το username και το password);
Please help...

Άβαταρ μέλους
greekbytes
WebDev Moderator
Δημοσιεύσεις: 2438
Εγγραφή: 15 Νοέμ 2002 15:42
Τοποθεσία: Αθήνα
Επικοινωνία:

Creating a MySQL database connection in PHP

Δημοσίευση από greekbytes » 02 Νοέμ 2005 19:14

δοκίμασε χωρίς password :

Κώδικας: Επιλογή όλων

mysql_connect('localhost', 'root', '') or die("connection error!" . mysql_error());

mysql_select_db(your_database) or die("cannot select db!" . mysql_error());

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

Creating a MySQL database connection in PHP

Δημοσίευση από shadow » 02 Νοέμ 2005 19:18

Οταν η MySQL γίνεται setup, χρησιμοποιεί ως default username το "root" και blank password, ώστε στο πρώτο σετάρισμα να έχουμε πρόσβαση να αλλάξουμε τους χρήστες και τα permissions. Μπες μεσα στην βάση σου, ορισε καινουριο χρήστη για την βαση σου (με login/password) στο table users , κανε και το αντιστοιχο record στο table db , μετα ενα restart στον mysql_server (or flush privileges απο shell) και θα είσαι οκ
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

Άβαταρ μέλους
Johny76
Δημοσιεύσεις: 91
Εγγραφή: 13 Μαρ 2005 10:44
Τοποθεσία: 7 χιλιόμετρα δυτικά της Αθήνας

Creating a MySQL database connection in PHP

Δημοσίευση από Johny76 » 02 Νοέμ 2005 21:38

Γράφω τον κώδικα που μου πρότεινες και βγάζει το μύνημα πάνω στη σελίδα
Notice: Use of undefined constant school - assumed 'school' in c:\Inetpub\wwwroot\coolsite\start\start.php on line 5
(η db μου λέγεται schools).
Όσο για το δεύτερο μύνημα δεν έχω ιδέα που και πώς γίνονται όλα αυτά (στο MySQL command line client???).
Ευχαριστώ για τις απαντήσεις. Ομολογώ όμως ότι δεν καταλαβαίνω και πολλά. Αρχάριος γαρ. Μήπως μπορείτε να γίνετε λίγο πιο αναλυτικοί;
Thanks

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

Creating a MySQL database connection in PHP

Δημοσίευση από shadow » 02 Νοέμ 2005 22:54

Το notice στο βγαζει γιατί όταν γράφεις κατι όχι μεσα σε εισαγωγικά, θεωρείται ότι ειναι μια σταθερά , την οποία πρέπει να την δηλώσεις πριν την χρησιμοποιήσεις.

Κώδικας: Επιλογή όλων

mysql_select_db('your_database');
Τώρα σε σχέση με το 2ο υπάρχουν 2 τρόποι να το κανεις.
Ο 1ος είναι μεσω του phpmyadmin (το κατεβαζεις και το κάνεις extract μεσα στο direcrtory το οποίο έχεις σετάρει για τον web server , στο c:\Inetpub\wwwroot\ από οτι βλέπω). Μεσα στο phpmyadmin θα βρεις ενα αρχείο που λέγεται config.inc.php , το ανοίγεις με τον editor και βαζεις τις κατάλληλες τιμές στο declaration του host, user, pass

Κώδικας: Επιλογή όλων

$cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['user']          = 'root';      // MySQL user
$cfg['Servers'][$i]['password']      = ''; 
Ανοιξε μετα από τον browser το phpmyadmin και θα σου εμφανίσει τις βασεις που έχει ο mysql server, οποτε θα πας στην βαση mysql και στα tables που σου ανάφερα προηγούμενως θα ορίσεις τους χρήστες σου και τις βάσεις σου. Επίσης όρισε και pass για τον root και στην συνέχεια ρίξε ένα restart στο mysql-server και θα είναι οκ. Βεβαια οταν θα κάνεις ολα αυτά θα πρεπει να ανοιξεις πάλι το config.inc.php και να βάλεις στο password την καινούρια τιμή.

Η δεύτερη λύση είναι από command line.

Κώδικας: Επιλογή όλων

use mysql;
//ta katallila inserts sta tables user,db
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες