kath Δημοσ. 25 Απριλίου 2006 Δημοσ. 25 Απριλίου 2006 Αντιμετωπιζω ενα προβλημα με τη δημιουργια λογαριασμων στο mysql. Εχω τον παρακατω php κωδικα οπου πραγματοποιει συνδεση με τη βαση χωρις προβλημα : ονομα βασης:localhost -> xrhstes(table). > $link = mysql_connect('localhost', 'admin', '1234'); if (!$link) { die('Proekypse sfalma'); } $db_selected = mysql_select_db('xrhstes', $link); if (!$db_selected) { die('H sundesh apetuxe'); } //--- } Τωρα αυτο που ψαχνω ειναι: Να μπορεσω να προσθεσω στο table "xrhstes" , τα στοιχεια : users,password,e-mail, κανοντας χρηση των μεταβλητων $user,$pass,$mail , τα οποια και στελνονται απο μια φορμα. Πως θα το κανω;
dterzakis Δημοσ. 25 Απριλίου 2006 Δημοσ. 25 Απριλίου 2006 Βασικάότι εντολή θες που συσχετίζεται αποκλειστικά με mysql γράφεις: mysql_query(".........") Οπότε για δημιουργία του πίνακα με τις στήλες θα γράψεις εκεί μέσα το CREATE TABLE..... Τώρα για τα $mail απλά μέσα στις εντολές mysql θα γράφεις '$mail'... πχ: mysql_query("DELETE FROM tableA WHERE mail='$mail'");
kath Δημοσ. 25 Απριλίου 2006 Μέλος Δημοσ. 25 Απριλίου 2006 Βασικάότι εντολή θες που συσχετίζεται αποκλειστικά με mysql γράφεις:mysql_query(".........") Οπότε για δημιουργία του πίνακα με τις στήλες θα γράψεις εκεί μέσα το CREATE TABLE..... Τώρα για τα $mail απλά μέσα στις εντολές mysql θα γράφεις '$mail'... πχ: mysql_query("DELETE FROM tableA WHERE mail='$mail'"); Ειναι ευκολο να γραψεις ενα παραδειγμα ; διαθετω πολυ βασικες γνωσεις mysql.. Για παραδειγμα , πως θα γραψω αυτο ; mysql_query("INSERT INTO TALBE xrhstes WHERE users = '$login' password='$pass' e-mail='$mail'"); Θα δουλεψει αυτο;
dterzakis Δημοσ. 25 Απριλίου 2006 Δημοσ. 25 Απριλίου 2006 mysql_query("CREATE TABLE onoma_pinaka( onoma_stilis1 VARCHAR(9) NOT NULL, onoma_stilis2 VARCHAR(25) NOT NULL,onoma_stilis3 VARCHAR(25) NOT NULL, onoma_stilis4 INT(2) NOT NULL, onoma_stilis5 INT(10) NOT NULL, PRIMARY KEY(ECODE))")or die("Create table Error: ".mysql_error()); ta VARCHAR, INT είναι το είδος των δεδομένων που θα μπένουν μέσα στις στήλες (αριθμοι, γράμματα, ημερομηνίες....), οι αριθμοί μετά, μέσα στις παρενθέσεις είναι το μήκος της στήλης, και το NOT NULL δεν σου επητρέπει να αφήσεις κενό σε κάποιο χαρακτηριστικό μιας πλειάδας. Το PRIMARY KEY δηλώνειςπροτεύον κλειδή σε έναν πίνακα και στο τέλος είναι μια βλακεία που απλά σου επιστρέφει κανένα τυχών λάθος άμα γινει.... Γενικά στην sql υπάρχουν πολλές λεπτομέρειες, τώρα δεν ξέρω πόσο μεγάλη είναι η βάση σου και τι έχεις να κάνεις με αυτή. Ψάξε για κανένα tutorial και αν δεν καταλαβαλινεις κάτι πες το....
kath Δημοσ. 25 Απριλίου 2006 Μέλος Δημοσ. 25 Απριλίου 2006 Ευχαριστω για το παραδειγμα , αλλα αυτο που ζητω ακριβως ειναι να προσθεσω στοιχεια σε μια ηδη υπαρχουσα βαση δεδομενων. Δηλαδη : Υπαρχει ενα table με το Ονομα xrhstes στο Localhost. Υπαρχουν οι πινακες : login,password & mail Αυτο που θελω , ειναι να δημιουργειται μια βαση χρηστων σε αυτο το table χρησιμοποιωντας τις μεταβλητες που ανεφερα.. Πως θα γινει κατι τετοιο ; Ευχαριστω για τον κοπο...
dterzakis Δημοσ. 25 Απριλίου 2006 Δημοσ. 25 Απριλίου 2006 Αντίστοιχα θα κάνεις χρήση της εντολής INSERT πχ: mysql_query("INSERT INTO onoma_pinaka VALUES ('$user', '$pass', '$mail')"); αν θεσ να τα βάλεις όλα αλλίως: mysql_query("INSERT INTO onoma_pinaka (user, mail) VALUES ('$user', '$mail')"); αν πχ θες να συμπληρώσεις μόνο τις στήλες user και mail. Με αυτή την εντολή εισάγεις πλειάδες μέσα στην βάση σου...Αυτό θες αν έχω καταλάβει καλά?!?
kath Δημοσ. 25 Απριλίου 2006 Μέλος Δημοσ. 25 Απριλίου 2006 Επιτελους δουλεψε!... πραγματικα σε ευχαριστω dterzakis , δε νομιζω να ξεμπλεκα ετσι απλα με το sql.... Συγχαρητηρια για την υπομονη σου Να κανω μια τελευταια ερωτηση ; αν και δεν ειναι τοσο σημαντικη.. πως θα ελεγξω αν το ονομα χρηστη υπαρχη ηδη ; μηπως υπαρχει καποιο exception php script γι'αυτο ,αντι να κανω query? px try..throw..catch edit : μαλλον θα χρειαστω τετοιο script..γιατι αντικαθιστα τις πληροφοριες των λογαριασμων!
dterzakis Δημοσ. 25 Απριλίου 2006 Δημοσ. 25 Απριλίου 2006 Δεν γνωρίζω κανένα τέτοιο exception αλλά δεν νομίζω να υπάρχει.... κάτσε να σου φτιάξω κανένα query....
dterzakis Δημοσ. 25 Απριλίου 2006 Δημοσ. 25 Απριλίου 2006 Βασικά αν μπορείς πες μου τι έχεις βάλει σαν κλειδί (PRIMARY KEY) και σε ποια δεδομένα σου κάνει την αντικατάσταση.....
kath Δημοσ. 25 Απριλίου 2006 Μέλος Δημοσ. 25 Απριλίου 2006 μου αντικαθιστα τον κωδικο και mail χρηστη , εφοσον ολα τα δεδομενα αποθηκευονται στο username
dterzakis Δημοσ. 25 Απριλίου 2006 Δημοσ. 25 Απριλίου 2006 εφόσον είναι ίδιο το username θες να πεις??!?
kath Δημοσ. 25 Απριλίου 2006 Μέλος Δημοσ. 25 Απριλίου 2006 Ναι , εαν το username ειναι ιδιο , αντικαθιστα ολα τα δεδομενα
dterzakis Δημοσ. 25 Απριλίου 2006 Δημοσ. 25 Απριλίου 2006 Η ιδέα είναι να κάνουμε ένα SELECT (search δλδ) στο user και αν επιστρέφει κάτι να τερματίζει αλλιώς αν δεν επιστρέφει κάτι να προχωράει στο INSERT... μισό να βρω τπτ αλλά δεν σου εγγυώμαι offtopic : για την σχολή σου είναι??
dterzakis Δημοσ. 25 Απριλίου 2006 Δημοσ. 25 Απριλίου 2006 $query = "SELECT * FROM onoma_pinaka WHERE user = '$user'"; $result = mysql_query($query); if ($result)//αν έχει βγάλει αποτέλεσμα {die}//δεν ξέρω αν ισχύει?!? INSERT.......... Μπορείς να δοκιμάσεις τιποτα σε if not το οποίο μπορεί να είναι "if !(result) {INSERT.....}" αλλά ούτε για αυτό ξέρω αν ιχύει YΓ: Θα λείψω για κανα 30'
kath Δημοσ. 25 Απριλίου 2006 Μέλος Δημοσ. 25 Απριλίου 2006 Επιτελους , το εκανα να δουλεψει , χαρη στη βοηθεια σου!. Παραθετω και τον κωδικα , για οποιον τον χρειαστει : > $link = mysql_connect('localhost', 'admin', '1234'); if (!$link) { die('Proekypse sfalma'); } $db_selected = mysql_select_db('xrhstes', $link); if (!$db_selected) { die('H sundesh apetuxe'); } //--- } ///-------- $sql = mysql_query("SELECT * FROM xrhstes_db WHERE user='$user'"); [color="Red"]$result = mysql_num_rows($sql); [/color] if ($result !=0) { print("Account '$user' already exists<br>"); mysql_close($link); //λινκ επιστροφης... ?> <html> <a href="index.php"> Return </a> <br> </br> </html> <? } else { //εδω γραφουμε το query & απελευθερωνουμε το sql mysql_close($link); } ?> ----------------------------------------------------------- offtopic : για την σχολή σου είναι?? Οχι , για μια client-server εφαρμογη που σχεδιαζουμε με ενα φιλο..
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.