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

Βοηθεια με PHP & MySQL


kath

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

Δημοσ.

Αντιμετωπιζω ενα προβλημα με τη δημιουργια λογαριασμων στο 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 , τα οποια και στελνονται απο μια

φορμα.

Πως θα το κανω;

msstemplate9yw.jpg

Δημοσ.

Βασικάότι εντολή θες που συσχετίζεται αποκλειστικά με mysql γράφεις:

mysql_query(".........")

Οπότε για δημιουργία του πίνακα με τις στήλες θα γράψεις εκεί μέσα το CREATE TABLE.....

Τώρα για τα $mail απλά μέσα στις εντολές mysql θα γράφεις '$mail'...

πχ:

 

mysql_query("DELETE FROM tableA WHERE mail='$mail'");

Δημοσ.
Βασικάότι εντολή θες που συσχετίζεται αποκλειστικά με 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'");

 

Θα δουλεψει αυτο;

Δημοσ.

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 και αν δεν καταλαβαλινεις κάτι πες το....

Δημοσ.

Ευχαριστω για το παραδειγμα , αλλα αυτο που ζητω ακριβως ειναι να

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

Δηλαδη :

 

Υπαρχει ενα table με το Ονομα xrhstes στο Localhost.

 

Υπαρχουν οι πινακες : login,password & mail

 

Αυτο που θελω , ειναι να δημιουργειται μια βαση χρηστων σε αυτο το table χρησιμοποιωντας τις μεταβλητες που ανεφερα..

 

Πως θα γινει κατι τετοιο ;

 

Ευχαριστω για τον κοπο...

Δημοσ.

Αντίστοιχα θα κάνεις χρήση της εντολής INSERT πχ:

 

mysql_query("INSERT INTO onoma_pinaka VALUES ('$user', '$pass', '$mail')"); αν θεσ να τα βάλεις όλα αλλίως:

 

mysql_query("INSERT INTO onoma_pinaka (user, mail) VALUES ('$user', '$mail')"); αν πχ θες να συμπληρώσεις μόνο τις στήλες user και mail.

 

Με αυτή την εντολή εισάγεις πλειάδες μέσα στην βάση σου...Αυτό θες αν έχω καταλάβει καλά?!?

Δημοσ.

Επιτελους δουλεψε!... πραγματικα σε ευχαριστω dterzakis , δε νομιζω να ξεμπλεκα ετσι απλα με το sql....

 

Συγχαρητηρια για την υπομονη σου :)

 

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

πως θα ελεγξω αν το ονομα χρηστη υπαρχη ηδη ;

μηπως υπαρχει καποιο exception php script γι'αυτο ,αντι να κανω query?

 

px try..throw..catch

 

edit : μαλλον θα χρειαστω τετοιο script..γιατι αντικαθιστα τις πληροφοριες των λογαριασμων!

Δημοσ.

μου αντικαθιστα τον κωδικο και mail χρηστη , εφοσον ολα τα δεδομενα αποθηκευονται στο username

Δημοσ.

Η ιδέα είναι να κάνουμε ένα SELECT (search δλδ) στο user και αν επιστρέφει κάτι να τερματίζει αλλιώς αν δεν επιστρέφει κάτι να προχωράει στο INSERT... μισό να βρω τπτ αλλά δεν σου εγγυώμαι :)

 

offtopic : για την σχολή σου είναι??

Δημοσ.

$query = "SELECT * FROM onoma_pinaka WHERE user = '$user'";

 

$result = mysql_query($query);

 

if ($result)//αν έχει βγάλει αποτέλεσμα

{die}//δεν ξέρω αν ισχύει?!?

 

INSERT..........

 

Μπορείς να δοκιμάσεις τιποτα σε if not το οποίο μπορεί να είναι "if !(result) {INSERT.....}" αλλά ούτε για αυτό ξέρω αν ιχύει:(

 

YΓ: Θα λείψω για κανα 30'

Δημοσ.

Επιτελους , το εκανα να δουλεψει , χαρη στη βοηθεια σου!.

 

Παραθετω και τον κωδικα , για οποιον τον χρειαστει :

>
$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 εφαρμογη που σχεδιαζουμε με ενα φιλο..

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

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

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