Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd z wysyłaniem danych
Forum PHP.pl > Forum > Bazy danych > MySQL
M-Russo
Ostation czytałem książkę o php w ,której był zawarty opis i ćwiczenia mysql jak tworzyć i wypełniać tabele.Podczas nauki zaszło pare nieporozumień które mnie zdziwiły.
Zrobiłem wszystko tak jak w książce napisane:
CODE

// połączeniez serwerem mysql

$connect = mysql_connect("localhost", "root", "")

or die ("Sprawdż połączenie z serwerem");



// utwórz bazę danych jeśli jeszcze nie istnieje

$create = mysql_query("CREATE DATABASE IF NOT EXISTS moviesite")

or die(mysql_error());



// wybierz nowo utworzoną bazę danych

mysql_select_db("moviesite");



// utwórz tabelę movie

$movie = "CREATE TABLE movie (

movie_id int(11) NOT NULL auto_increment,

movie_name varchar(255) NOT NULL,

movie_type tinyint(2) NOT NULL default 0,

movie_year int(4) NOT NULL default 0,

movie_leadactor int(11) NOT NULL default 0,

movie_director int(11) NOT NULL default 0,

PRIMARY KEY (movie_id),

KEY movie_type (movie_type,movie_year)

)";



$results = mysql_query($movie)
or die (mysql_error());






// utwórz tabelę movietype

$movietype = "CREATE TABLE movietype (

movietype_id int(11) NOT NULL auto_increment,

movietype_label varchar(100) NOT NULL,

PRIMARY KEY (movietype_id)

)";


$results = mysql_query($movietype)
or die (mysql_error());






// utwórz tabelę people

$people = "CREATE TABLE people (

people_id int(11) NOT NULL auto_increment,

people_fullname varchar(255) NOT NULL,

people_isactor tinyint(1) NOT NULL default 0,

people_isdirector tinyint(1) NOT NULL default 0,

PRIMARY KEY (people_id)

)";



$results = mysql_query($people)
or die (mysql_error());






echo "Poprawnie utworzono bazę filmów";

?>



Po zastosowaniu tego kodu wysłanie danych do bazy mysqle nie powiodło się czy to błąd autora książki?

Po chwili namyśłu przerobiłem kod na następujący:

CODE
<?php
// połączeniez serwerem mysql
$connect = mysql_connect("localhost", "root", "")
or die ("Sprawdż połączenie z serwerem");

// utwórz bazę danych jeśli jeszcze nie istnieje
$create = mysql_query("CREATE DATABASE IF NOT EXISTS moviesite")
or die(mysql_error());

// wybierz nowo utworzoną bazę danych
mysql_select_db("moviesite");

// utwórz tabelę movie
$movie = "CREATE TABLE movie (
movie_id int(11) NOT NULL auto_increment,
movie_name varchar(255) NOT NULL,
movie_type tinyint(2) NOT NULL default 0,
movie_year int(4) NOT NULL default 0,
movie_leadactor int(11) NOT NULL default 0,
movie_director int(11) NOT NULL default 0,
PRIMARY KEY (movie_id),
KEY movie_type (movie_type,movie_year)
)";

$mysql_query($movie);


// utwórz tabelę movietype
$movietype = "CREATE TABLE movietype (
movietype_id int(11) NOT NULL auto_increment,
movietype_label varchar(100) NOT NULL,
PRIMARY KEY (movietype_id)
)";

mysql_query($movietype);


// utwórz tabelę people
$people = "CREATE TABLE people (
people_id int(11) NOT NULL auto_increment,
people_fullname varchar(255) NOT NULL,
people_isactor tinyint(1) NOT NULL default 0,
people_isdirector tinyint(1) NOT NULL default 0,
PRIMARY KEY (people_id)
)";

mysql_query($people);


echo "Poprawnie utworzono bazę filmów";
?>


Teraz tabele zostały utworzone.Mam pytanie dlaczego tamten sposub nie zadziałał czy to był błąd autora czy coś ja żle robię?Proszę o pomoc bo zależy mi tym drugim to dobrze zrobić.
nate
Jak rozumiem zamieniles bloki:

$results = mysql_query($people)
or die (mysql_error());

na:

mysql_query($people);

A jakie bledy sie wyswietlaly podczas wykonywania tego gornego bloku questionmark.gif
Twoje rozwiazanie jest OK, ale nie pozwala na kontrole tego czy zapytanie sie udalo.
Wiaze sie to z tym ze pozniej bedziesz wykonywal zapytania do nieistniejacych tabel, albo co gorsza wykonywal tylko co ktores zapytanie
M-Russo
  Nie wiem jaki wtedy błąd wyskakiwał alw,nie powinien wyskakiwać.Chciałem się dowiedzieć jaki ten błąd był więc utworzyłem nową bazę danych moviesite2 i wstawiłem tam te same tabele co w moviesite.Zastosowałem sposób że sprawdzaniem poprawności i teraz się udało nie było tego błędu co wczoraj tylko pojawiło się Poprawnie utworzono bazę danych.Weszłem do phpMyAdmina i baza jest tabele w bazie są przecież wczoraj tak samo to robiłem.Bazę danych mam na komputerze u siebie więc połączenie musiało być chyba?Dobra dzięki za zainteresowanie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.