Φωτογραφία Κωνσταντίνος ΜΑΥΡΟΚΕΦΑΛΟΣ
προβλημα δημιουργία πίνακα
από Κωνσταντίνος ΜΑΥΡΟΚΕΦΑΛΟΣ - Wednesday, 10 February 2010, 11:04 AM
 
με τον παρακάτω κώδικα μου λέεί ότι ο πίνακας δημιουργήθηκε αλλά μετά πάω στο phpmyadmin και δεν υπάρχει πίνακας.τις εντολές insert-create τις εχω κάνει copy-paste από το phpmyadmin

///////////////////////////////////////////////////ftiaxnw ton pinaka

$sql="CREATE TABLE `katalogos`.`stoixeia` (
`onoma` VARCHAR( 10 ) NOT NULL ,
`eponimo` VARCHAR( 10 ) NOT NULL ,
`tilefono` INT( 10 ) NOT NULL AUTO_INCREMENT ,
PRIMARY KEY ( `tilefono` )
)";

$res=mysqli_query($mysqli,$sql);

if($res===TRUE)
{
echo "table created"."<br/>";
}
else
{
echo "table not created".mysqli_error($mysqli)."<br/>";
}



$sql1="INSERT INTO `katalogos`.`stoixeia` (
`onoma` ,
`eponimo` ,
`tilefono`
)
VALUES (
'eleni', 'georgiou', '2109988777'
)";
$res1=mysqli_query($mysqli,$sql1);

if($res1==TRUE)
{
echo "res ok";
}
else
{
echo "res not ok".mysqli_error($mysqli)."<br/>";
}
}


 
Φωτογραφία Τάσος Μαυρίδης
Απάντηση: προβλημα δημιουργία πίνακα
από Τάσος Μαυρίδης - Wednesday, 10 February 2010, 12:04 PM
 

Ο κώδικας που έχεις γράψει είναι σωστός , εφόσον υπάρχει η βάση katalogos (έλεγξέ το από το phpmyadmin) όταν εκτελέσεις το πρώτο μέρος πρέπει να δημιουργηθεί ένας πίνακας σε αυτή.

 

Έλεγξε ότι έχεις συνδεθεί στη βάση αυτή π.χ.

$mysqli=mysqli_connect("localhost","root","","katalogos");

 

Άσχετο, αλλά δεν έχει νόημα να βάλεις auto increment το πεδίο tilefono. Δε θέλεις δηλ. όταν δεν υπάρχει τιμή για το τηλέφωνο να αυξάνει κατά ένα σε σχέση με το προηγούμενο. 

Φωτογραφία Κωνσταντίνος ΜΑΥΡΟΚΕΦΑΛΟΣ
Απάντηση: προβλημα δημιουργία πίνακα
από Κωνσταντίνος ΜΑΥΡΟΚΕΦΑΛΟΣ - Wednesday, 10 February 2010, 12:17 PM
 
καλησπέρα,

δεν έβαλα όλη την άσκηση γιατι ουσιαστικά αποτελεί την πρώτη άσκηση της ενότητας...
ναι εχω τσεκάρει ότι συνδέεται και ειναι οκ.

////////////////////////kanei sindesi me vasi katalogos
$mysqli=new mysqli("localhost","root","","katalogos");


if(mysqli_connect_errno())
{
echo "failed";
exit();
}
else
{
echo "ok connected! ".mysqli_get_host_info($mysqli). "</br>";
echo "<br/>";

οταν παω στο phpmyadmin βλέπω να έχει δημιουργηθεί ενας πίνακας 'στοιχεία' αλλά όταν πατάω πάνω του για να δω τα περιεχόμενα αυτός εξαφανίζεται.
Φωτογραφία Τάσος Μαυρίδης
Απάντηση: προβλημα δημιουργία πίνακα
από Τάσος Μαυρίδης - Wednesday, 10 February 2010, 1:58 PM
 

Καλησπέρα .

Διευκρινίζω ότι για την άσκηση τη βάση και τους πίνακες θα τη δημιουργήσετε με το phpmyadmin όχι μέσω της php.

Μια φορά θα δημιουργήσετε τον πίνακα. Δε θα δημιουργείται ένας καινούριος πίνακας κάθε φορά που τρέχει το script.

 

Θα μπορούσες να διευκρινήσεις το από πού εξαφανίζεται ο πίνακας, γιατί δεν μπορεί να γίνεται αυτό,κάτι άλλο πρέπει να συμβαίνει .

Φαντάζομαι ότι επιλέγεις από το menu αριστερά τη βάση katalogos και μετά (πάλι στα αριστερά) πατάς stoixeia ή κάνεις κάτι άλλο.

Φωτογραφία Κωνσταντίνος ΜΑΥΡΟΚΕΦΑΛΟΣ
Απάντηση: προβλημα δημιουργία πίνακα
από Κωνσταντίνος ΜΑΥΡΟΚΕΦΑΛΟΣ - Thursday, 11 February 2010, 9:46 AM
 
το έλυσα χρησιμοποιώντας το phpmyadmin,

"Φαντάζομαι ότι επιλέγεις από το menu αριστερά τη βάση katalogos και μετά (πάλι στα αριστερά) πατάς stoixeia ή κάνεις κάτι άλλο."


ναι αυτό κάνω . δηλ με το που τρέξει το script και μου βγάλει μήνυμα οκ παω στο phpmyadmin τον βλέπω τον πίνακα μεσα στη βάση αλλά με το που το πατάω μου λέι ότι the table does not exist .


Γενικότερα δεν είναι σύνηθες οι πίνακες και οι βάσεις να δημιουργούνται δυναμικά μέσα από τον κώδικα;


Φωτογραφία Τάσος Μαυρίδης
Απάντηση: προβλημα δημιουργία πίνακα
από Τάσος Μαυρίδης - Thursday, 11 February 2010, 10:58 AM
 

Καλημέρα.

Δεν είναι ασυνήθιστο. Στις εφαρμογές που χρειάζεται κάποιος installer υπάρχουν script που όταν τα τρέχεις δημιουργούν τη βάση , τους πίνακες και εισάγουν τα απαραίτητα στοιχεία σε αυτούς. Αυτό το τρέχει ο χρήστης μια φορά όταν θέλει να εγκαταστήσει την εφαρμογή και μετά διαγράφει το script εγκατάστασης. Θα δείτε τη διαδικασία στην επόμενη ενότητα.

Αυτό για εφαρμογές που θα εγκατασταθούν από πολλούς χρήστες , αν κάνεις μια custom εφαρμογή που θα τρέξει σε ένα server  δεν έχεις λόγο να δημιουργήσεις Installers.Υπάρχουν και άλλες σπάνιες περιπτώσεις που μπορεί να χρειαστεί να δημιουργήσεις πίνακες από php.

 

Το table does not exist είναι λίγο περίεργο. Εγώ το τρέχω έτσι όπως το έχεις στείλει και δημιουργεί τον πίνακα και εισάγει την εγγραφή χωρίς πρόβλημα. Για δοκίμασε να κάνεις κανένα refresh στον browser (στη σελίδα του phpmyadmin)