Lupus Δημοσ. 15 Δεκεμβρίου 2004 Δημοσ. 15 Δεκεμβρίου 2004 Hello ppl, Εχω εναν πινακα σtην βαση με την στηλη name. Εχω και μια html σελιδα η οποια εχει μια απλη φορμα με τον παρακατω κωδικα σε μια φορμα. <form name="mpla" method="post" action="simple.php"> <input type="text" name="myname"> <input type="submit" name="Submit" value="Submit"> </form> και εχω και μια php σελιδα με τον παρακατω κωδικα <?php $myname= $_POST; $query="select * from test where name=".$myname.""; $connect=mysql_connect("localhost","username","mypass") or die("Could not connect : " . mysql_error()); echo "connected <br>"; $connect=mysql_select_db("testdb") or die("Could not select db"); echo "database selected <br>"; $result=mysql_query($query); while($row=mysql_fetch_array($result)) { printf("%s", $row["$myname"]) ; } ?> Το προβλημα μου ειναι οτι οταν εκτελειται το php ο apache βγαζει error: [client 127.0.0.1] PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\\Program Files\\Apache group\\Apache2\\htdocs\\database\\simplest.p hp on line 14, referer: http://localhost:8080/database/simple_form.html Το ερωτημα μου ειναι: παιρνει η μεταβλητη $myname καποια τιμη ή απλα εχω λαθος στον κωδικα και δεν παιρνει τιποτα? Γιατι η συναρτηση mysql_fetch_array() προκαλει αυτο το error? To query αυτο πανω στην βαση το τρεχω διχως προβλημα απο terminal. Προσπαθωντας να καταλαβω τι φταιει, εβγαλα απο το query την συνθηκη where και δουλεψε κανονικα. Πως μπορω να το διορθωσω το ολο προβλημα ομως? Ευχαριστω
galanta Δημοσ. 15 Δεκεμβρίου 2004 Δημοσ. 15 Δεκεμβρίου 2004 Δοκίμασε στον κώδικα το εξής αντί γι' αυτό που έχεις σε αυτή τη σειρά: $query="select * from test where name='$myname'"; Το μήνυμα λάθους έρχεται γιατί δεν επιστρέφει ούτε μια εγγραφή το ερώτημά σου
Lyman_Zerga Δημοσ. 16 Δεκεμβρίου 2004 Δημοσ. 16 Δεκεμβρίου 2004 > $myname= $_POST; :!: :!: Για κάνε print_r($myname) και δες τι έχει. Το ερωτημα μου ειναι: παιρνει η μεταβλητη $myname καποια τιμη ή απλα εχω λαθος στον κωδικα και δεν παιρνει τιποτα? Έχεις σκεφτεί να χρησιμοποιήσεις καμια echo; :?:
Teoulas Δημοσ. 17 Δεκεμβρίου 2004 Δημοσ. 17 Δεκεμβρίου 2004 Προφανώς από τα post vars θέλεις τη μεταβλητή myname και όχι όλο το array. Δες τι τιμή παίρνει η myname, με τον τρόπο που λέει ο Lyman_Zerga. Άρα ο κώδικάς σου θα έπρεπε να είναι αυτός: >$myname= $_POST['myname'];
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.