aris2134 Δημοσ. 14 Απριλίου 2010 Δημοσ. 14 Απριλίου 2010 Γεια σε όλους! Εχω εγκαταστησει με επιτυχια το xampp και το προβλημα που αντιμετωπίζω ειναι οτι οταν παω να εισάγω δεδομένα στην βάση δεδομένων , ενω μου εμφανίζει μήνυμα οτι τα δεδομενα μπήκαν στην βάση μου στο phpMyAdmin και στην βάση αυξανονται οι εγγραφές (εχω ενα πεδίο auto increment) τα πεδία varchar δεν εμφανιζονται. Πχ εστω οτι εχω 3 πεδια id auto increment,name,surname. Κάνω εισαγωγή στην βαση ,το πεδιο id αυξάνει κατα 1 καθε φορα δηλαδή μπαίνει η αντίστοιχη εγγραφή στην βάση αλλα τα πεδια name,surname ειναι κενά.Παλιότερα στα windows xp δεν ειχα τετοιο προβλημα,μονο το προβλημα ελληνικών ...??? κλασικά!Τώρα με τα win7 δημιουργήθηκε και εχω προσπαθήσει τα πάντα.. Αν γνωρίζει κάποιος ας βοηθήσει! Ευχαριστώ!
Uberalles_gr Δημοσ. 14 Απριλίου 2010 Δημοσ. 14 Απριλίου 2010 Πως τα εισάγεις τα δεδομένα? Από κάποιο php script?
aris2134 Δημοσ. 14 Απριλίου 2010 Μέλος Δημοσ. 14 Απριλίου 2010 Ναι με php script τα εισάγω.. Το προβλημα εμφανίστηκε ξαφνικά..παλιοτερα μου δούλευε αυτο είναι το περίεργο..Αν θές μπορώ να στείλω τον κωδικα να μου πείς ..
hartzoua Δημοσ. 14 Απριλίου 2010 Δημοσ. 14 Απριλίου 2010 Το πρόβλημά σου είναι κατα 99% στο php script. Προφανώς με την αλλαγή σε win7 και την επανεγκατάσταση της php άλλαξαν κάποιοι παράμετροι και οι μεταβλητές που εισάγεις για τα πεδία name και username παραμένουν κενές. Στείλε κώδικα
aris2134 Δημοσ. 14 Απριλίου 2010 Μέλος Δημοσ. 14 Απριλίου 2010 Στο php αρχείο υπάρχουν ακριβώς τα παρακάτω.. <?php mysql_connect ('localhost', 'username','pass') or die ('Could not connect to database'); mysql_select_db('db2') or die ('Could not select database'); $id = $_POST['$id']; $name = $_POST['$name']; $surname = $_POST['$surname']; $result = mysql_query("INSERT INTO test_form (id,name,surname) VALUES ('$id','$name','$surname') "); if ($result==TRUE) { echo "items inserted into database."; } else { echo "Try again!!"; } ?> Είναι ενα απλό scriptaki ,οπου username και pass τα δικά μου..! και το html scrpt <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <fieldset> <form name="form" method="post" action="insertform.php" > <p>Id: <input type="text" name="id" /></p> <p>Name: <input type="text" name="name" /></p> <p>Surname: <input type="text" name="surname" /></p> <p><input type="submit" name="ok" /> </p> </form> </fieldset> </body> </html>
Uberalles_gr Δημοσ. 14 Απριλίου 2010 Δημοσ. 14 Απριλίου 2010 Κάνε ένα echo να δεις τι query εκτελείται.. Επίσης, όταν λες ότι το id είναι auto_increment τότε αυτόματα είναι και κλειδί στον πίνακα σου άρα το σωστό query θα έπρεπε να είναι > $result = mysql_query("INSERT INTO test_form (name,surname) VALUES ('$name','$surname') ");
aris2134 Δημοσ. 14 Απριλίου 2010 Μέλος Δημοσ. 14 Απριλίου 2010 Διόρθωσα την γραμμή $result = mysql_query("INSERT INTO test_form (name,surname) VALUES ... και μαζι με το echo query εμφανίζει items inserted into database.Resource id #3 αλλα πάλι τιποτα στην βάση τα πεδία κενα... Μπορεις να μου δώσεις σε κώδικα mysql την δημιουργία της βάσης να την ξαναδημιουργήσω μήπως κανω κατι λαθος εκει ?
Seldimi Δημοσ. 14 Απριλίου 2010 Δημοσ. 14 Απριλίου 2010 Μήπως κοιιτάς άλλον πίνακα και γεμίζεις άλλον;
hartzoua Δημοσ. 14 Απριλίου 2010 Δημοσ. 14 Απριλίου 2010 Το σωστό aris2134 είναι να βάλεις echo($query); για να δεις ποια είναι η sql εντολή που στέλνεις. Στη συνέχεια την αντιγράφεις στο phpmyadmin και βλεπεις τι λάθος σου βγάζει. Αν πάλι δεν καταλάβεις από εκεί το λάθος στείλε την εντολή που σου βγάζει το echo και το μήνυμα λάθους (αν σου βγάζει) του phpmyadmin
aris2134 Δημοσ. 15 Απριλίου 2010 Μέλος Δημοσ. 15 Απριλίου 2010 Μετά απο πολλες προσπάθειες το προβλημα παραμένει... απεγκατεστησα το xampp,το εγκατεστησα ξανά,δοκίμασα καποιες ρυθμισεις,το ξαναεβγαλα,το ξαναεβαλα,ξαναδημιούργησα τη ΒΔ στο phpMyAdmin, δοκίμασα και σε windows xp στα οποια δούλευε παλαιότερα..Τι αλλο να κάνω? Μήπως γνωρίζει κανείς αν πρέπει να γινουν καποιες ρυθμισεις σε κάποια αρχεία php,mysql πχ στο php.ini κτλ ?? Παίζει κάποιο ρόλο που εχω τα windows 7 τα 64bit ?? Υπενθυμίζω το προβλημα.. Εισάγω δεδομένα στην βαση ,μου βγάζει μνμ επιτυχιας και οταν παω στην βάση να τα δω ενω φαίνεται οτι εχουν μπει δεδομένα δεν εμφανιζεται τιποτα δηλαδη ειναι κενα... Καμια ακομα βοήθεια??
Uberalles_gr Δημοσ. 15 Απριλίου 2010 Δημοσ. 15 Απριλίου 2010 Λοιπόν φίλε μου θα κάνεις το εξής : Θα πας να βάλεις χειροκίνητα μία εγγραφή, δηλαδή θα ανοίξεις το phpmyadmin και θα τρέξεις το query > INSERT INTO `test_form` (`name`,`surname`) VALUES ('my_name','my_surname') Εάν εισάγει την εγγραφή (που αυτό θα κάνει) τότε το πρόβλημα είναι στο php script που κάνεις εισαγωγή τα δεδομένα. Σου είχα πει να κάνεις echo το query, δηλαδή το > echo "INSERT INTO `test_form` (`name`,`surname`) VALUES ('$name','$surname')"; και να δεις τι σου γυρνάει
aris2134 Δημοσ. 15 Απριλίου 2010 Μέλος Δημοσ. 15 Απριλίου 2010 Εχεις δίκιο απο το phpMyAdmin τα εισάγει κανονικα.. Και δοκιμασα το echo και αφου πατήσω submit μου εμφανιζει ακριβώς: items inserted into database. INSERT INTO test_form (name) VALUES ('') και βαζοντας αυτην την γραμμη στο phpMyAdmin στο sql μου την τρεχει κανονικα...και μου βαζει το κενο..
Uberalles_gr Δημοσ. 15 Απριλίου 2010 Δημοσ. 15 Απριλίου 2010 Λοιπόν φίλε μου, όπως βλέπεις και εσύ δεν τραβάς σωστά τα δεδομένα και είναι άδεια.... Έχεις πρόβλημα στο POST και όχι στην βάση σου
aris2134 Δημοσ. 15 Απριλίου 2010 Μέλος Δημοσ. 15 Απριλίου 2010 Οριστε το hmtl αρχείο <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <center> <fieldset> <form action="insertform.php" method="post" > <p>name: <input type="text" name="name" id="name" /></p> <p><input type="submit" name="ok" /> </p> </form> </fieldset> </center> </body> </html> Οριστε και το php scriptaki αλλο αρχειο <?php mysql_connect ('localhost', '----','-----') or die ('Could not connect to database'); mysql_select_db('db2') or die ('Could not select database'); //mysql_query("SET NAMES utf8"); $namee = $_POST['$name']; $result = mysql_query("INSERT INTO test_form(name) VALUES('$namee') "); if ($result==TRUE) { echo "items inserted into database."; } else { echo "Try again!!"; } echo "<p>INSERT INTO test_form (name) VALUES ('$namee')</p>"; ?> Πραγματικα δεν μπορώ να βρώ που μπορει να εχω κανει λάθος..Για ρίξε μια ματια..
Uberalles_gr Δημοσ. 16 Απριλίου 2010 Δημοσ. 16 Απριλίου 2010 Το λάθος σου είναι όπως σου είπα και στο προηγούμενο post μου στο POST. Δεν είναι > $namee = $_POST['$name']; ΑΛΛΑ > $namee = $_POST['name'];
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.