Προς το περιεχόμενο

Ένωση βάσης με ΡΗΡ σελίδα?


fraggiskos

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια χαρά. Προσπαθώ να συνδέσω μια βάση δεδομένων 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?

 

Ευχαριστώ

 

Δημοσ.

γιατί να μην κάνει το πιο απλό τότε; πέρασε τα δεδομένα της βάσης σου που είναι στην access σε μία mysql βάση. Απλό είναι και δε θα έχεις κανένα πρόβλημα συμβατότητας με apache και php

Δημοσ.
Επίσης ισχύει ότι ο apachie δεν συνεργάζεται με βάσεις access και αν έχω βάση σε access πρέπει να χρησημοποιήσω υποχρεωτικά IIS?

Ένας http server (π.χ. apache, lighttpd, IIS, ...) δεν έχει καμία δουλειά με μια βάση, απλά απαντάει σε http requests.

Αν η γλώσσα στην οποία υλοποιείς την εφαρμογή σου (π.χ. php) υποστηρίζει επικοινωνία με αυτή τη βάση, δε χρειάζεσαι κάτι άλλο.

 

Αλλά για διάφορους λόγους η access δεν είναι η ιδανική επιλογή για μια web εφαρμογή (για να πω την αλήθεια δε μπορώ να σκεφτώ καμία εφαρμογή για την οποία θα ήταν ιδανική).

Δημοσ.

Και εγώ θα πρότεινα την χρήση apache με mysql. Αν βαριέσαι την διαδικασία του να εγκαταστήσεις κάθε τι ξεχωριατά κατεβάζεις το xampp (free) και είσαι έτοιμος.

Δημοσ.

Όπως προανέφερε και ο nske προφανώς και δεν είσαι υποχρεωμένος να χρησιμοποιήσεις IIS.

 

Δοκίμασε αντί για σκέτο frankie να δώσεις κάτι τέτοιο για όρισμα

 

>
"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=<ολοκληρο το path για το αρχείο της access>"

 

Επίσης ένας άλλος τρόπος είναι με COM, άμα θες να δοκιμάσεις και κάτι άλλο

Δημοσ.

Ευχαριστώ πολύ για τις άμεσες απαντήσεις. franky είναι το όνομα που έχω δώσει στο ODBC. Για να φτιάξω την βάση σε mysql θα χρειαστώ και κάποιο άλλο πρόγραμμα για να φτιάξω την βάση πέραν του xampp?. Πχ για να γράψω μια ΄βαση δεδομένων σε access χρειάζομαι την ms access την mysql βάση σε ποιό πρόγραμμα την γράφω?

Δημοσ.

To xampp περιλαμβάνει το πολύ χρήσιμο εργαλείο phpMyAdmin. Αυτό σου δίνει την δυνατότητα με γραφικό περιβάλλον να κάνεις ότι θέλεις με την βάση σου. Πχ. να προσθέσεις στήλες, γραμμές, να ανανεώσεις δεδομένα, και συγχρόνως σου δείχνει και τον sql κώδικα που κάνει αυτό που μόλις έκανες, ώστε να μπορείς αργότερα να το κάνεις πιο αυτόματα. Βάλτο και θα τα βρεις μόνο σου γρήγορα.

Δημοσ.

To site σε τι είναι? Σε php? Στο htdocs εγώ είχα μόνο τα αρχεία php. Με 2-3 απλές εντολές κάνεις το connection μέσα από κώδικα php δηλαδή. Να σου πω την αλήθεια, δεν έχω πρoσέξει που αποθηκεύεται η βάση, γιατί την βλέπω πάντα μέσα από τον κώδικα, ή απο το phpMyAdmin.

Δημοσ.

Δεν υπάρχει site. Μια εργασιά έχω να κάνω η οποία θα πρέπει να είναι ένα απλό e-shop με πέντε προιόντα. Η γλώσσα της σελίδας θα πρέπει να είναι ΡΗΡ αλλά την βάση μπορώ να την έχω όπου θέλω. Όλη την εργασιά την κάνω τοπικά γιαυτό και ρωτάω που θα πρέπει να έχω την βάση και αν χρειάζεται σύνδεση με ODBC μια mySql βάση.

 

 

-----Προστέθηκε 17/1/2009 στις 12 : 02 : 02-----

 

 

Επίσης το PHPMyadmin που λές πού βρίσκεται? Εγκατέστησα τον xampp αλλά δεν το βρίκα.

Δημοσ.

Γιατί κάνεις τι ζωή σου δύσκολη ? ? ?

 

Τα πράγματα είναι ποιο απλά ! ! !

Εγκατέστησε τον 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

 

Υ.Γ. : Ελπίσω ο κώδικας που έγραψα να είναι σωστός γιατί σήμερα είναι Κυριακή και έχω κατεβάσει κάτι κρασάκια ! !

Δημοσ.

Σας ευχαριστώ πολύ όλους. Κατάφερα και την σύνδεσα. Τώρα όμως αντιμετοπίζω ένα άλλο πρόβλημα.

δεν λειτουργεί μια function που καλώ.

Χρειάζεται κάτι παραπάνω απο αυτό??

>echo"<input name='' type='submit' onClick='test()'>";

Τώρα πατάω το κουμπί και δεν κάνει τίποτα

Δημοσ.
Σας ευχαριστώ πολύ όλους. Κατάφερα και την σύνδεσα. Τώρα όμως αντιμετοπίζω ένα άλλο πρόβλημα.

δεν λειτουργεί μια 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 δεν θα δεις καμία διαφορά.

 

Αυτά από εμένα. Αν έχεις άλλη απορία γράψε !

Δημοσ.

Ευχαριστώ για την πληρέστατη απάντηση. Απλά τα δεδομένα μου είναι ένας πίνακας τον οποίο γεμίζει μία fetch_row. Δεν είναι μέσα στην html κι έτσι δεν μπορώ να χρησημοποιήσω φόρμα. Εγώ συγκεκριμένα αυτό που προσπαθώ να κάνω είναι να να φτιάξω ένα κουμπί ή ένα τσέκμπόξ μέσα στην ΡΗΡ το οποίο να καλεί μια function PHP.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...