oksosaa Δημοσ. 24 Ιουνίου 2010 Δημοσ. 24 Ιουνίου 2010 Λοιπον εχω ενα πινακα σε sql με ονομα users και 2 πεδια firstName kai age. Για παραδειγμα τον παρακατω: users ------------------------------- firstName | age ------------------------------- maria | 21 elenh | 59 .... | .... Μπορει καποιος αγιος ανθρωπος να μου φτιάξει την sql εντολη ετσι ωστε να φορτώσω σε μια μεταβλητη $var την τιμή "age της μαρίας" του πίνακα. Παραθέτω και ενα κώδικα που εχω αλλα δεν μπορώ να καταλάβω γιατι δεν τρεχει η fetch_array(); υποθετω πως στελνω απο μια φορμα Α το firstName στην φορμα Β που εχει τον παρακάτω κώδικα. συνδεση με server κτλ ................ ................ ................ $res = mysql_query('SELECT age FROM users WHERE firstName="$_POST['firstName']"') $var = 5;//esto oti thelo na prostheso 5 xronia while( $num = mysql_fetch_array($res)){ $var= $var + $num['age']; } echo "$var"; Εδω τα προβληματα μου ειναι 2: 1) γιατι δεν εκτελειται η fetch_array ???? 2) Δεν εμφανίζει την νεα τιμη της $var αλλα την παλια΄ αν εχω ψιλοσυντακτικα λάθη μην τα λαβετε υποψην
painkiller44 Δημοσ. 24 Ιουνίου 2010 Δημοσ. 24 Ιουνίου 2010 Λοιπον εχω ενα πινακα σε sql με ονομα users και 2 πεδια firstName kai age. Για παραδειγμα τον παρακατω: users ------------------------------- firstName | age ------------------------------- maria | 21 elenh | 59 .... | .... Μπορει καποιος αγιος ανθρωπος να μου φτιάξει την sql εντολη ετσι ωστε να φορτώσω σε μια μεταβλητη $var την τιμή "age της μαρίας" του πίνακα. Παραθέτω και ενα κώδικα που εχω αλλα δεν μπορώ να καταλάβω γιατι δεν τρεχει η fetch_array(); υποθετω πως στελνω απο μια φορμα Α το firstName στην φορμα Β που εχει τον παρακάτω κώδικα. συνδεση με server κτλ ................ ................ ................ $res = mysql_query('SELECT age FROM users WHERE firstName="$_POST['firstName']"') $var = 5;//esto oti thelo na prostheso 5 xronia while( $num = mysql_fetch_array($res)){ $var= $var + $num['age']; } echo "$var"; Εδω τα προβληματα μου ειναι 2: 1) γιατι δεν εκτελειται η fetch_array ???? 2) Δεν εμφανίζει την νεα τιμη της $var αλλα την παλια΄ αν εχω ψιλοσυντακτικα λάθη μην τα λαβετε υποψην κανε echo την $num με var_dump να δεις τι βγαζει και δεν ξερω αν ειναι και αυτο κανε βασικα πρεπει να εχεις ξεχασει το ; στο query $res = mysql_query('SELECT age FROM users WHERE firstName="$_POST['firstName']"') or die (mysql_error('δεν μπορεσε να γινει εκτελεση')); το ;
doomakos1 Δημοσ. 24 Ιουνίου 2010 Δημοσ. 24 Ιουνίου 2010 δοκίμασε $res = mysql_query('SELECT age FROM users WHERE firstName="'.$_POST['firstName'].'"'); Μηπως παιζει κάτι με τα " και τα '. δηλαδή 'firstName=" ' . $_POST['firstName'] . ' " ' ); 2) Δεν εμφανίζει την νεα τιμη της $var αλλα την παλια΄ δεν εκτελείται το while διοτι το $res δεν εχει σωστή τιμή
oksosaa Δημοσ. 24 Ιουνίου 2010 Μέλος Δημοσ. 24 Ιουνίου 2010 Το ερώτημα $result = select(......) εκτελειται κανονικα καθως κανοντας echo το $result μου εμφανιζει οτι εκτελεστηκε το ερώτημα.Απο εκει και κάτω εγω θελω να πάρω μια τιμη απο τον πίνακα και να την φορτωσω σε μια μεταβλητη $var αλλά δεν τρεχει η while και δεν μπορω να φορτώσω την τιμη σε μια μεταβλητη!!! γιατι ?
Crizzt Δημοσ. 24 Ιουνίου 2010 Δημοσ. 24 Ιουνίου 2010 >while( $num = mysql_fetch_array($res)){ [color="Red"]global $var;[/color] $var= $var + $num['age']; } Προσθεσε αυτο.
doomakos1 Δημοσ. 24 Ιουνίου 2010 Δημοσ. 24 Ιουνίου 2010 δοκιμασε WHERE firstName="maria" αν δουλέψει παει να πει οτι το πρόβλημα ειναι στην συνταξη του sql ή στην φορμα που εχεις το $_POST['firstName'] . αν κανει πάλι τα ίδια τοτε φτέει το while.. εμενα πάντος μου φαίνεται σωστο.
oksosaa Δημοσ. 24 Ιουνίου 2010 Μέλος Δημοσ. 24 Ιουνίου 2010 Το σκέφτηκα και την εκανα global αλλα το πρόβλημα ειναι πως δεν μπαινει στην while!!!
MitsakosGR Δημοσ. 24 Ιουνίου 2010 Δημοσ. 24 Ιουνίου 2010 Μπες μέσω phpMyAdmin (αν υπάρχει, αλλιώς μέσω sql command line) και εκτέλεσε την εντολή sql που έχεις να δεις αν σου επιστρέφει αποτελέσματα. Ή χρησιμοποίησε το $rowsNum = mysql_num_rows($res); για να δεις πόσες εγγραφές επιστρέφει. Μήπως έχει πρόβλημα το sql κομμάτι και όχι το php. Επίσης δοκίμασε να κάνεις $num=mysql_fetch_row($res) αντί για mysql_fetch_array($res)
doomakos1 Δημοσ. 24 Ιουνίου 2010 Δημοσ. 24 Ιουνίου 2010 ρε παιδιά αφου εχει πρόβλημα στήν σύνταξη του sql $res = mysql_query('SELECT age FROM users WHERE firstName="$_POST['firstName']"') αν εχεις dreamweaver πρεπει να στο βγαζει καπως ετσι $res = mysql_query('SELECT age FROM users WHERE firstName="$_POST['firstName']"') πρεπει νανε ετσι $res = mysql_query('SELECT age FROM users WHERE firstName="'.$_POST['firstName'].'"');
painkiller44 Δημοσ. 24 Ιουνίου 2010 Δημοσ. 24 Ιουνίου 2010 την τιμη $_POST['firstName'] εκχωρησε την σε μια μεταβλητη και βαλτην ετσι μεσα στο query $name=$_POST['firstName']; $res = mysql_query("SELECT age FROM users WHERE firstName='". $name ."'"); $var = 5;//esto oti thelo na prostheso 5 xronia while( $num = mysql_fetch_array($res)){ $var= $var + $num['age']; } echo "$var"; πιστευω ετσι θα δουλεψει
MitsakosGR Δημοσ. 24 Ιουνίου 2010 Δημοσ. 24 Ιουνίου 2010 ... αν εχω ψιλοσυντακτικα λάθη μην τα λαβετε υποψην Για αυτό δεν παρατηρούμε τα συντακτικά λάθη και αναφερόμαστε στην λογική του κώδικα... -- Έβαλα και τον καλύτερο τρόπο για το sql query $res = mysql_query( "SELECT age FROM users WHERE firstName= \"".$_POST['firstName']."\"" ); Διπλά εισαγωγικά, για να είναι string, γύρω από την εντολή και \" για να βάλει και εισαγωγικά στην αναζήτηση στη βάση. Δηλαδή στην βάση να πάει SELECT age FROM users WHERE firstName= "maria"
oksosaa Δημοσ. 24 Ιουνίου 2010 Μέλος Δημοσ. 24 Ιουνίου 2010 μπηκα μεσω admin εκτελεσα το ερωτημα και μου εμφανιζει το αποτελεσμα κανονικα. παντως στην fetch δεν μπαινει και δεν ξερω τι θα γινει. ---------- Προσθήκη στις 22:43 ---------- Προηγούμενο μήνυμα στις 22:39 ---------- μπηκα μεσω admin εκτελεσα το ερωτημα και μου εμφανιζει το αποτελεσμα κανονικα.παντως στην fetch δεν μπαινει και δεν ξερω τι θα γινει. κατι ακομα που ηθελα να ρωτησω ρε παιδια... εχω μια συναρτηση την οποια χρησιμοποιω πολλές φορες μεσα στο προγραμμα. σιγουρα δεν ειναι σωστο να την γραφω 100 φορες και θα ηθελα να μου πειτε αν υπαρχει τροπος να την εχω σε ενα ξεχωριστο αρχειο 1 φορα και να την καλω απο εκει οταν την χρειαζομαι. γνωριζω πως υπαρχει η include στην php αλλα η εντολη αυτη ουσιαστικα τρεχει οτι περιεχει το αρχειο ταδε.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.