fraggiskos Δημοσ. 15 Ιανουαρίου 2009 Δημοσ. 15 Ιανουαρίου 2009 Γεια χαρά. Προσπαθώ να συνδέσω μια βάση δεδομένων access με μια σελίδα ΡΗΡ. Έχω φτιάξει το ODBC αλλά όταν τρέχω την σελίδα μου βγάζει: Warning: odbc_connect() [function.odbc-connect]: SQL error: Failed to fetch error message, SQL state HY000 in SQLConnect in C:\xampp\htdocs\test.php on line 5 Connection Failed: Στην γραμμη 5 έχω γραψει την εντολή που καλεί την βάση η οποία είναι: $conn=odbc_connect('franky' ,'' ,''); Τί μπορεί να φταίει? Επίσης ισχύει ότι ο apachie δεν συνεργάζεται με βάσεις access και αν έχω βάση σε access πρέπει να χρησημοποιήσω υποχρεωτικά IIS? Ευχαριστώ
andrip Δημοσ. 16 Ιανουαρίου 2009 Δημοσ. 16 Ιανουαρίου 2009 γιατί να μην κάνει το πιο απλό τότε; πέρασε τα δεδομένα της βάσης σου που είναι στην access σε μία mysql βάση. Απλό είναι και δε θα έχεις κανένα πρόβλημα συμβατότητας με apache και php
nske Δημοσ. 16 Ιανουαρίου 2009 Δημοσ. 16 Ιανουαρίου 2009 Επίσης ισχύει ότι ο apachie δεν συνεργάζεται με βάσεις access και αν έχω βάση σε access πρέπει να χρησημοποιήσω υποχρεωτικά IIS? Ένας http server (π.χ. apache, lighttpd, IIS, ...) δεν έχει καμία δουλειά με μια βάση, απλά απαντάει σε http requests. Αν η γλώσσα στην οποία υλοποιείς την εφαρμογή σου (π.χ. php) υποστηρίζει επικοινωνία με αυτή τη βάση, δε χρειάζεσαι κάτι άλλο. Αλλά για διάφορους λόγους η access δεν είναι η ιδανική επιλογή για μια web εφαρμογή (για να πω την αλήθεια δε μπορώ να σκεφτώ καμία εφαρμογή για την οποία θα ήταν ιδανική).
RubiksCube Δημοσ. 16 Ιανουαρίου 2009 Δημοσ. 16 Ιανουαρίου 2009 Και εγώ θα πρότεινα την χρήση apache με mysql. Αν βαριέσαι την διαδικασία του να εγκαταστήσεις κάθε τι ξεχωριατά κατεβάζεις το xampp (free) και είσαι έτοιμος.
zinas Δημοσ. 16 Ιανουαρίου 2009 Δημοσ. 16 Ιανουαρίου 2009 Όπως προανέφερε και ο nske προφανώς και δεν είσαι υποχρεωμένος να χρησιμοποιήσεις IIS. Δοκίμασε αντί για σκέτο frankie να δώσεις κάτι τέτοιο για όρισμα > "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=<ολοκληρο το path για το αρχείο της access>" Επίσης ένας άλλος τρόπος είναι με COM, άμα θες να δοκιμάσεις και κάτι άλλο
fraggiskos Δημοσ. 16 Ιανουαρίου 2009 Μέλος Δημοσ. 16 Ιανουαρίου 2009 Ευχαριστώ πολύ για τις άμεσες απαντήσεις. franky είναι το όνομα που έχω δώσει στο ODBC. Για να φτιάξω την βάση σε mysql θα χρειαστώ και κάποιο άλλο πρόγραμμα για να φτιάξω την βάση πέραν του xampp?. Πχ για να γράψω μια ΄βαση δεδομένων σε access χρειάζομαι την ms access την mysql βάση σε ποιό πρόγραμμα την γράφω?
RubiksCube Δημοσ. 16 Ιανουαρίου 2009 Δημοσ. 16 Ιανουαρίου 2009 To xampp περιλαμβάνει το πολύ χρήσιμο εργαλείο phpMyAdmin. Αυτό σου δίνει την δυνατότητα με γραφικό περιβάλλον να κάνεις ότι θέλεις με την βάση σου. Πχ. να προσθέσεις στήλες, γραμμές, να ανανεώσεις δεδομένα, και συγχρόνως σου δείχνει και τον sql κώδικα που κάνει αυτό που μόλις έκανες, ώστε να μπορείς αργότερα να το κάνεις πιο αυτόματα. Βάλτο και θα τα βρεις μόνο σου γρήγορα.
fraggiskos Δημοσ. 16 Ιανουαρίου 2009 Μέλος Δημοσ. 16 Ιανουαρίου 2009 Αν χρησημοποιήσω mySql θα χρειαστεί πάλι να κάνω σύνδεση χρησημοποιόντας το odbc η απλά θα βάλω την βάση μου στο htdocs?
RubiksCube Δημοσ. 16 Ιανουαρίου 2009 Δημοσ. 16 Ιανουαρίου 2009 To site σε τι είναι? Σε php? Στο htdocs εγώ είχα μόνο τα αρχεία php. Με 2-3 απλές εντολές κάνεις το connection μέσα από κώδικα php δηλαδή. Να σου πω την αλήθεια, δεν έχω πρoσέξει που αποθηκεύεται η βάση, γιατί την βλέπω πάντα μέσα από τον κώδικα, ή απο το phpMyAdmin.
fraggiskos Δημοσ. 16 Ιανουαρίου 2009 Μέλος Δημοσ. 16 Ιανουαρίου 2009 Δεν υπάρχει site. Μια εργασιά έχω να κάνω η οποία θα πρέπει να είναι ένα απλό e-shop με πέντε προιόντα. Η γλώσσα της σελίδας θα πρέπει να είναι ΡΗΡ αλλά την βάση μπορώ να την έχω όπου θέλω. Όλη την εργασιά την κάνω τοπικά γιαυτό και ρωτάω που θα πρέπει να έχω την βάση και αν χρειάζεται σύνδεση με ODBC μια mySql βάση. -----Προστέθηκε 17/1/2009 στις 12 : 02 : 02----- Επίσης το PHPMyadmin που λές πού βρίσκεται? Εγκατέστησα τον xampp αλλά δεν το βρίκα.
nske Δημοσ. 18 Ιανουαρίου 2009 Δημοσ. 18 Ιανουαρίου 2009 και αν χρειάζεται σύνδεση με ODBC μια mySql βάση. Όχι, δε χρειάζεται. http://gr2.php.net/manual/en/book.mysql.php
merianos Δημοσ. 18 Ιανουαρίου 2009 Δημοσ. 18 Ιανουαρίου 2009 Γιατί κάνεις τι ζωή σου δύσκολη ? ? ? Τα πράγματα είναι ποιο απλά ! ! ! Εγκατέστησε τον Apache, μετά εγκατέστησε την PHP μαζί με την επέκταση για MySQL, και στη συνέχεια την MySQL. Το που θα είναι εγκατεστημένη η MySQL δεν παίζει ρόλο. Και σε άλλο υπολογιστή να την έχεις εγκατεστημένη το ίδιο κάνει. Μόνο που στην περίπτωση που θα την έχεις σε άλλο υπολογιστή θα πρέπει να αλλάξεις μερικές ρυθμίσεις όπου, από όσο υποψιάζομαι θα είναι πολύ δύσκολο, οπότε εγκατέστησε την στον ίδιο υπολογιστή. Η επικοινωνία της PHP με την MySQL γίνετε μέσω TCP/IP και έτσι την βρίσεις πάντα. Για παράδειγμα για να συνδεθείς στη MySQL από την PHP γράψε τα παρακάτω σε ένα αρχείο PHP <?php $conn = mysql_pconnect(“127.0.0.1”,”username”,”password”); ?> Το $conn είναι το αντικείμενο που διατηρεί τη σύνδεση και θα το χρησιμοποιήσεις στη συνέχεια για να εκτελέσεις κάποιες άλλες εντολές της MySQL. 127.0.0.1 είναι η IP του υπολογιστή που δουλεύεις άσχετα από τη διεύθυνση που μπορεί να έχει ο υπολογιστής σου από ένα άλλο δίκτυο (π.χ. το τοπικό δίκτυο στο οποίο δουλεύεις), αν θέλεις μπορείς αντί να γράψεις το 127.0.0.1 γράψε localhost που είναι ακριβώς το ίδιο πράγμα. Από εκεί και πέρα θα μπορείς να εκτελείς συναρτήσεις MySQL στο PHP Script σου ανεξάρτητα από τη βάση δεδομένων. Για παράδειγμα : <?php $qr = “SELECT column FROM table WHERE column_value = value”; $res = mysql_query($qr, $conn); ?> $qr είναι το ερώτημα που θέλεις να στείλεις στη MySQL. $res είναι το αποτέλεσμα που θα προκύψει από το ερώτημα αυτό. $mysqm_query είναι η εντολή που στέλνει το ερώτημα στο MySQL Server και επιστρέφει την απάντηση του MySQL Server στη μεταβλητή $res $conn είναι το αντικείμενο που διατηρεί τα στιχεία της σύνδεσης προς το MySQL Server. Αυτά νομίζω πως είναι τα βασικά βήματα για να εκτελέσεις PHP Scripts που θα έχουν να κάνουν με τον MySQL Server. Αν θέλεις κάτι άλλο εδώ είμαστε για να σε βοηθήσουμε ! ! ! C U Υ.Γ. : Ελπίσω ο κώδικας που έγραψα να είναι σωστός γιατί σήμερα είναι Κυριακή και έχω κατεβάσει κάτι κρασάκια ! !
fraggiskos Δημοσ. 20 Ιανουαρίου 2009 Μέλος Δημοσ. 20 Ιανουαρίου 2009 Σας ευχαριστώ πολύ όλους. Κατάφερα και την σύνδεσα. Τώρα όμως αντιμετοπίζω ένα άλλο πρόβλημα. δεν λειτουργεί μια function που καλώ. Χρειάζεται κάτι παραπάνω απο αυτό?? >echo"<input name='' type='submit' onClick='test()'>"; Τώρα πατάω το κουμπί και δεν κάνει τίποτα
merianos Δημοσ. 20 Ιανουαρίου 2009 Δημοσ. 20 Ιανουαρίου 2009 Σας ευχαριστώ πολύ όλους. Κατάφερα και την σύνδεσα. Τώρα όμως αντιμετοπίζω ένα άλλο πρόβλημα. δεν λειτουργεί μια function που καλώ. Χρειάζεται κάτι παραπάνω απο αυτό?? >echo"<input name='' type='submit' onClick='test()'>"; Τώρα πατάω το κουμπί και δεν κάνει τίποτα Ή συνάρτηση “test()” που προσπαθείς να καλέσεις, είναι συνάρτηση JavaScript και όχι PHP. Αν εκτελείς τον κώδικα αυτό για JavaScript δεν νομίζω πως πρέπει να γράψεις κάτι άλλο, το μόνο που χρειάζεται είναι να υπάρχει η συνάρτηση “test()” σε κάποιο JavaScript κώδικα στη σελίδα σου. Αν η συνάρτηση ανήκει στην PHP τότε θα πρέπει να την καλέσεις από ένα PHP μπλοκ. Αν πάλι θέλεις να εκτελείτε η συνάρτηση αυτή με το πάτημα του κουμπιού τότε θα πρέπει να γράψεις AJAX. Επειδή δεν νομίζω ότι θέλεις κάτι από τα παραπάνω δοκίμασε αυτό : ><?php // Δηλώνεις τη συνάρτηση test() function test() { // Test function code } ?> <html> <head> <title>Page Title</title> </head> <body> <form action=”<?php echo $_SERVER['PHP_SELF']; ?>” method=”GET”> <input name=”Submit” type=”submit” /> </form> <?php // Κάνεις έλεγχο για να δεις αν έχει πατηθεί το κουμπί if(isset($_GET['Submit']) && strlen($_GET['Submit']) > 0) { // Καλείς τη συνάρτηση test() test(); } ?> </body> </html> Να σημειωθεί πως με αυτό τον κώδικα, κάθε φορά που πατάς το κουμπί η σελίδα ξαναφορτώνεται από την αρχή και έτσι μπορεί να κάνει τον έλεγχο, για να διαπιστώσει αν έχεις πατήσει το κουμπί. Το κομμάτι του κώδικα “<?php echo $_SERVER['PHP_SELF']; ?>” σημαίνει ότι η φόρμα θα αποσταλεί ξανά στο ίδιο αρχείο. Όπου έχω βάλει GET μπορείς να το αντικαταστήσεις με POST. Η διαφορά είναι ότι το GET θα σου εμφανιστεί στο URL κάπως έτσι : http://www.testpage.ext/mytestpage.php?submit=submit ενώ με το POST δεν θα δεις καμία διαφορά. Αυτά από εμένα. Αν έχεις άλλη απορία γράψε !
fraggiskos Δημοσ. 20 Ιανουαρίου 2009 Μέλος Δημοσ. 20 Ιανουαρίου 2009 Ευχαριστώ για την πληρέστατη απάντηση. Απλά τα δεδομένα μου είναι ένας πίνακας τον οποίο γεμίζει μία fetch_row. Δεν είναι μέσα στην html κι έτσι δεν μπορώ να χρησημοποιήσω φόρμα. Εγώ συγκεκριμένα αυτό που προσπαθώ να κάνω είναι να να φτιάξω ένα κουμπί ή ένα τσέκμπόξ μέσα στην ΡΗΡ το οποίο να καλεί μια function PHP.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.