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

Στην τελευταια σελιδα εχω ερωτηση SQL-WAMP προβλημα


oksosaa

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

Δημοσ.

Λοιπον εχω ενα πινακα σε 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 αλλα την παλια΄

 

 

αν εχω ψιλοσυντακτικα λάθη μην τα λαβετε υποψην

  • Απαντ. 41
  • Δημ.
  • Τελ. απάντηση
Δημοσ.
Λοιπον εχω ενα πινακα σε 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('δεν μπορεσε να γινει εκτελεση'));

 

το ;

Δημοσ.

δοκίμασε

$res = mysql_query('SELECT age FROM users WHERE firstName="'.$_POST['firstName'].'"');

 

Μηπως παιζει κάτι με τα " και τα '.

 

δηλαδή 'firstName=" ' . $_POST['firstName'] . ' " ' );

 

2) Δεν εμφανίζει την νεα τιμη της $var αλλα την παλια΄

δεν εκτελείται το while διοτι το $res δεν εχει σωστή τιμή

Δημοσ.

Το ερώτημα $result = select(......) εκτελειται κανονικα καθως κανοντας echo το $result μου εμφανιζει οτι εκτελεστηκε το ερώτημα.Απο εκει και κάτω εγω θελω να πάρω μια τιμη απο τον πίνακα και να την φορτωσω σε μια μεταβλητη $var αλλά δεν τρεχει η while και δεν μπορω να φορτώσω την τιμη σε μια μεταβλητη!!!

 

γιατι ?

Δημοσ.

δοκιμασε WHERE firstName="maria"

 

αν δουλέψει παει να πει οτι το πρόβλημα ειναι στην συνταξη του sql ή στην φορμα που εχεις το $_POST['firstName'] .

αν κανει πάλι τα ίδια τοτε φτέει το while.. εμενα πάντος μου φαίνεται σωστο.

Δημοσ.

Μπες μέσω phpMyAdmin (αν υπάρχει, αλλιώς μέσω sql command line) και εκτέλεσε την εντολή sql που έχεις να δεις αν σου επιστρέφει αποτελέσματα. Ή χρησιμοποίησε το

$rowsNum = mysql_num_rows($res); για να δεις πόσες εγγραφές επιστρέφει. Μήπως έχει πρόβλημα το sql κομμάτι και όχι το php.

 

Επίσης δοκίμασε να κάνεις $num=mysql_fetch_row($res) αντί για mysql_fetch_array($res)

Δημοσ.

ρε παιδιά αφου εχει πρόβλημα στήν σύνταξη του 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'].'"');

Δημοσ.

την τιμη $_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";

 

πιστευω ετσι θα δουλεψει

Δημοσ.

...

αν εχω ψιλοσυντακτικα λάθη μην τα λαβετε υποψην

 

Για αυτό δεν παρατηρούμε τα συντακτικά λάθη και αναφερόμαστε στην λογική του κώδικα...

 

-- Έβαλα και τον καλύτερο τρόπο για το sql query

$res = mysql_query( "SELECT age FROM users WHERE firstName= \"".$_POST['firstName']."\"" );

Διπλά εισαγωγικά, για να είναι string, γύρω από την εντολή και \" για να βάλει και εισαγωγικά στην αναζήτηση στη βάση.

Δηλαδή στην βάση να πάει SELECT age FROM users WHERE firstName= "maria"

Δημοσ.

μπηκα μεσω admin εκτελεσα το ερωτημα και μου εμφανιζει το αποτελεσμα κανονικα.

παντως στην fetch δεν μπαινει και δεν ξερω τι θα γινει.

 

---------- Προσθήκη στις 22:43 ---------- Προηγούμενο μήνυμα στις 22:39 ----------

 

μπηκα μεσω admin εκτελεσα το ερωτημα και μου εμφανιζει το αποτελεσμα κανονικα.

παντως στην fetch δεν μπαινει και δεν ξερω τι θα γινει.

 

 

κατι ακομα που ηθελα να ρωτησω ρε παιδια...

 

εχω μια συναρτηση την οποια χρησιμοποιω πολλές φορες μεσα στο προγραμμα.

σιγουρα δεν ειναι σωστο να την γραφω 100 φορες και θα ηθελα να μου πειτε αν υπαρχει τροπος να την εχω σε ενα ξεχωριστο αρχειο 1 φορα και να την καλω απο εκει οταν την χρειαζομαι.

 

γνωριζω πως υπαρχει η include στην php αλλα η εντολη αυτη ουσιαστικα τρεχει οτι περιεχει το αρχειο ταδε.

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

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

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