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

ΣΥΝΔΕΣΗ PHP ΜΕ MYSQL


elenanta

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

Καλησπέρα σας....Μήπως γνωριζετε για την σύνδεση php και mysql;

έχω δημιουργήσει μια βάση δεδομένων(askisi) με 2 πίνακες:

actor(id_actor,surname.name)

stage_director(id_stage_director,surname,name).

 

Δημιουργω κανονικά την σύνδεση

<?php

$conn = mysql_connect ("localhost", "username" ,"password");

mysql_select_db("askisi",$conn);

?>

Αλλα μετά για να εισάγω δεδομένα σε αυτους τους 2 πίνακες....:

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

καλο θα ήταν να κάνεις τη σύνδεση στη βαση σε ενα ξεχωριστό αρχείο π.χ. db.php

 

βάλε μέσα:

 

><?php

//Δήλωση των στοιχείων σύνδεσης σε μεταβλητές όπως τα έχεις δηλώσει στη βάση που εφταξες
$host     = "localhost";
$user     = "root";
$passwd   = "";
$database = "askisi";

//Σύνδεση στη βάση
$conn = mysql_connect("$host","$user","$passwd");
$db = mysql_select_db("$database");
?>

 

μετά στην άλλη php σελίδα σου απλά προσθεσε στην αρχή το παρακάτω πριν τον υπόλοιπο κώδικα

 

><?php
include('db.php');

 

 

 

ένας απλός κώδικας με δύο σελίδες για να περάσεις το ονοματεπώνυμο στην βάση που αναφέρεις είναι ο εξής:

 

σελιδα 1 (insert1.html)

>
 <body>
   <H2 align="center">insert actor</H2><br>
   
   <p align="center">Παρακαλώ συμπληρώστε τα παρακάτω πεδία:</p>
   <form action="insert2.php" method="post">
       <table align="center">
           <tr>
             <td align="right">Όνομα:</td>
             <td align="left"><INPUT type="text" name="name" size="21" maxlength="20">  </td>
             <td align="right">Επίθετο:</td>
             <td align="left"><INPUT type="text" name="surname" size="21" maxlength="20">  </td>
           </tr>
           
           <tr>
             <td align="right"><input type="submit" name="submit" value="ΕΠΟΜΕΝΟ"></td>
             <td align="left"><input type="reset" name="reset" value="AΚΥΡΟ"></td>
           </tr>

 </table>

</center>
 
 </body>

 

και σελίδα 2 (insert2.php)

>
<?php
include('db.php');

$name = $_POST["name"];                  
$surname = $_POST["surname"];            

//ελέγχω αν συμπληρώθηκε το πεδίο
if(empty($name)){
die("Παρακαλώ εισάγετε το όνομα.");

}
//ελέγχω αν συμπληρώθηκε το πεδίο
if(empty($surname)){
die("Παρακαλώ εισάγετε το επίθετο.");

}


//εισαγωγή στη βάση
$result= MYSQL_QUERY("INSERT INTO actor ( name, surname)".
  "VALUES ( '$name', '$surname' )");


echo "Το όνομα και το επίθετο καταχωρήθηκαν επιτυχώς.";



?>

 

Ελπίζω να μην έκανα κανένα λάθος απροσεξίας...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εκανα την σύνδεση έτσι όπως μου είπες,μου εμφάνισε κανονικά το html αρχείο,κάνω εισαγωγή δεδομένων και μετά ΑΠΟΣΤΟΛΗ και μου εμφανίζει μία λευκή σελίδα.Πηγαίνω προβολή πρόέλευση και μου βγάζει μόνο το μήνυμα :: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML><HEAD>

<META http-equiv=Content-Type content="text/html; charset=windows-1253"></HEAD>

<BODY></BODY></HTML>

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εκανα την σύνδεση έτσι όπως μου είπες,μου εμφάνισε κανονικά το html αρχείο,κάνω εισαγωγή δεδομένων και μετά ΑΠΟΣΤΟΛΗ και μου εμφανίζει μία λευκή σελίδα.Πηγαίνω προβολή πρόέλευση και μου βγάζει μόνο το μήνυμα :: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML><HEAD>

<META http-equiv=Content-Type content="text/html; charset=windows-1253"></HEAD>

<BODY></BODY></HTML>

 

Έχει πρόβλημα ο κώδικας που έχεις γράψει (συντακτικό ή κάτι άλλο) και σταματάει η εκτέλεση. Για να δεις τα προβλήματα γράψε το παρακάτω πριν από κάθε κώδικα PHP:

error_reporting(E_ALL);

ini_set('display_errors','On');

 

Προσοχή. Αν η εφαρμογή σου είναι εκτεθιμένη στο internet η προβολή των errors μπορεί να εκθέσει vulnerabilities που μπορει να έχει το πρόγραμμά σου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εκανα την σύνδεση έτσι όπως μου είπες,μου εμφάνισε κανονικά το html αρχείο,κάνω εισαγωγή δεδομένων και μετά ΑΠΟΣΤΟΛΗ και μου εμφανίζει μία λευκή σελίδα.Πηγαίνω προβολή πρόέλευση και μου βγάζει μόνο το μήνυμα :: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML><HEAD>

<META http-equiv=Content-Type content="text/html; charset=windows-1253"></HEAD>

<BODY></BODY></HTML>

 

Το ΑΠΟΣΤΟΛΗ που αναφέρεις που το βρήκες; Τα μόνα κουμπιά είναι το ΕΠΟΜΕΝΟ και το ΑΚΥΡΟ.

 

Κοιτα, επειδη το ξανατσεκαρα και ειμαι σίγουρος 100% οτι κάνει εγγραφη στη βάση σου στελνω και τη βαση που το δοκιμασα για να δεις αν έχεις κατι διαφορετικο. Αν το κανεις copy - paste και το τρέξεις μεσα απο τη βαση σου θα σου φτιαξει τον πινακα όπως θα πρέπει να ειναι (primary keys κ.τ.λ.)

 

>
# Host: localhost
# Database: askisi
# Table: 'actor'
# 
CREATE TABLE `actor` (
 `id_actor` int(11) NOT NULL auto_increment,
 `surname` varchar(100) NOT NULL default '',
 `name` varchar(100) NOT NULL default '',
 PRIMARY KEY  (`id_actor`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

# Host: localhost
# Database: askisi
# Table: 'stage_director'
# 
CREATE TABLE `stage_director` (
 `id_stage` int(11) NOT NULL auto_increment,
 `surname` varchar(100) NOT NULL default '',
 `name` varchar(100) NOT NULL default '',
 PRIMARY KEY  (`id_stage`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 


 

 

Επαναλαμβάνω οτι ο κώδικας είναι εντάξει. Η λευκή σελίδα που μου λες πως εμφανίζει δεν με βοηθάει καθόλου...

 

PS. Ελπίζω να μην ξεχασες να βαλεις και το db.php μαζι με τα άλλα δυο αρχεία που σου είπα. Κάνε copy - paste τον κωδικα ξανα και δοκιμασε...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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