Na początek powiem że jestem nowicjuszem jeśli chodzi o PHP i się dopiero uczę. Napotkałem jeden problem podczas tworzenia formularzy i łączenia się z baza którego niestety nie moge obejść.
Może Wasze oko dostrzeże błąd, który popełniam. Generalnie wydaje mi się że jest wszystko ok. Nie wiem dlaczego nie działa skrypt dodawania do bazy MySQL. Po wpisaniu danych w formularzu pojawia mi się następna strona skryptu, ale pusta bez żadnych wyników i do bazy nic się nie dodaje. Nie mam nawet błędu, żeby określić co jest nie tak.
Kod tworzenia bazy:
Kod
<?
$baza = "zwierzak";
$connection = mysql_connect("localhost", "root", "")
or die("polaczenie z baza danych nie powiodlo sie");
$test = mysql_select_db($baza, $connection );
if ($test) {
echo "nie utworzono bazy, poniewaz baza $baza juz istnieje";
}
else {
$tworzenie = "CREATE DATABASE $baza";
$rezultat = mysql_query($tworzenie, $connection)
or di("nie udalo sie utworzyc bazy danych");
echo "baza $baza zostala utworzona";
mysql_close($connection);
}
?>
$baza = "zwierzak";
$connection = mysql_connect("localhost", "root", "")
or die("polaczenie z baza danych nie powiodlo sie");
$test = mysql_select_db($baza, $connection );
if ($test) {
echo "nie utworzono bazy, poniewaz baza $baza juz istnieje";
}
else {
$tworzenie = "CREATE DATABASE $baza";
$rezultat = mysql_query($tworzenie, $connection)
or di("nie udalo sie utworzyc bazy danych");
echo "baza $baza zostala utworzona";
mysql_close($connection);
}
?>
Następnie utworzyłem Tabele:
Kod
<?
$baza = "zwierzak";
$tabela = "koty";
$connection = mysql_connect("localhost", "root", "");
$sprawdzenie1 = mysql_select_db($baza, $connection )
or die("wybor bazy danych zakonczony niepowodzeniem");
$pomocnicza = mysql_query("SHOW TABLE STATUS LIKE '$tabela'")
or die(mysql_error());
$sprawdzenie2= mysql_num_rows($pomocnicza) == 1;
if ($sprawdzenie2){
echo "nie utworzono tabeli, poniewaz tabela $tabela juz istnieje";
}
else {
$tworzenie = "CREATE TABLE $tabela (
`numer` INT NOT NULL AUTO_INCREMENT,
`nazwa` TEXT NOT NULL ,
`rasa` TEXT NOT NULL ,
`wiek` TEXT NOT NULL ,
`plec` TEXT NOT NULL ,
`kolor` TEXT NOT NULL ,
PRIMARY KEY ( `numer` )
) ENGINE = MYISAM";
$rezultat = mysql_query($tworzenie, $connection);
if ($rezultat){
echo "tabela <b>$tabela</b>, zostala utworzona";
}
}
?>
$baza = "zwierzak";
$tabela = "koty";
$connection = mysql_connect("localhost", "root", "");
$sprawdzenie1 = mysql_select_db($baza, $connection )
or die("wybor bazy danych zakonczony niepowodzeniem");
$pomocnicza = mysql_query("SHOW TABLE STATUS LIKE '$tabela'")
or die(mysql_error());
$sprawdzenie2= mysql_num_rows($pomocnicza) == 1;
if ($sprawdzenie2){
echo "nie utworzono tabeli, poniewaz tabela $tabela juz istnieje";
}
else {
$tworzenie = "CREATE TABLE $tabela (
`numer` INT NOT NULL AUTO_INCREMENT,
`nazwa` TEXT NOT NULL ,
`rasa` TEXT NOT NULL ,
`wiek` TEXT NOT NULL ,
`plec` TEXT NOT NULL ,
`kolor` TEXT NOT NULL ,
PRIMARY KEY ( `numer` )
) ENGINE = MYISAM";
$rezultat = mysql_query($tworzenie, $connection);
if ($rezultat){
echo "tabela <b>$tabela</b>, zostala utworzona";
}
}
?>
Formularz:
Kod
<?
echo'
<B>Wprowadz dane</B>
<FORM NAME="" ACTION="dodaj_dane.php" METHOD="POST">
Nazwa:<BR><INPUT TYPE="text" NAME="nazwa" VALUE=""><BR>
Rasa:<BR><INPUT TYPE="text" NAME="rasa" VALUE=""><BR>
Wiek:<BR><INPUT TYPE="text" NAME="wiek" VALUE=""><BR>
Plec:<BR><INPUT TYPE="text" NAME="plec" VALUE=""><BR>
Kolor:<BR><INPUT TYPE="text" NAME="kolor" VALUE=""><BR>
<INPUT TYPE="submit" VALUE="Dodaj kota">
</FORM>
';
?>
echo'
<B>Wprowadz dane</B>
<FORM NAME="" ACTION="dodaj_dane.php" METHOD="POST">
Nazwa:<BR><INPUT TYPE="text" NAME="nazwa" VALUE=""><BR>
Rasa:<BR><INPUT TYPE="text" NAME="rasa" VALUE=""><BR>
Wiek:<BR><INPUT TYPE="text" NAME="wiek" VALUE=""><BR>
Plec:<BR><INPUT TYPE="text" NAME="plec" VALUE=""><BR>
Kolor:<BR><INPUT TYPE="text" NAME="kolor" VALUE=""><BR>
<INPUT TYPE="submit" VALUE="Dodaj kota">
</FORM>
';
?>
Skrypt dodający do bazy dane.
Kod
<?
$baza = "zwierzak";
$tabela = "koty";
$connection = mysql_connect("localhost", "root", "");
$wybierz = mysql_select_db($baza, $connection)
or die("wybor bazy zakonczyl się niepowodzeniem");
$wstaw = "INSERT INTO $tabela ( `numer` ,`nazwa` , `rasa` , `wiek` , `plec`, 'kolor' )
VALUES (
NULL, '$_POST[nazwa]', '$_POST[rasa]', '$_POST[wiek]', '$_POST[plec]','$_POST[kolor]'
)";
$rezultat = mysql_query($wstaw, $connection);
if ($rezultat) {
echo "<h2>Do tabeli zostaly dodane nastepujace dane:</h2>
<b>Nazwa:</b> <i>$_POST[nazwa]</i>
<b>Rasa:</b> <i>$_POST[rasa]</i>
<b>Wiek:</b> <i>$_POST[wiek]</i>
<b>Plec:</b> <i>$_POST[plec]</i>
<b>Kolor:</b> <i>$_POST[kolor]</i>
";
}
?>
$baza = "zwierzak";
$tabela = "koty";
$connection = mysql_connect("localhost", "root", "");
$wybierz = mysql_select_db($baza, $connection)
or die("wybor bazy zakonczyl się niepowodzeniem");
$wstaw = "INSERT INTO $tabela ( `numer` ,`nazwa` , `rasa` , `wiek` , `plec`, 'kolor' )
VALUES (
NULL, '$_POST[nazwa]', '$_POST[rasa]', '$_POST[wiek]', '$_POST[plec]','$_POST[kolor]'
)";
$rezultat = mysql_query($wstaw, $connection);
if ($rezultat) {
echo "<h2>Do tabeli zostaly dodane nastepujace dane:</h2>
<b>Nazwa:</b> <i>$_POST[nazwa]</i>
<b>Rasa:</b> <i>$_POST[rasa]</i>
<b>Wiek:</b> <i>$_POST[wiek]</i>
<b>Plec:</b> <i>$_POST[plec]</i>
<b>Kolor:</b> <i>$_POST[kolor]</i>
";
}
?>
Kod PHP nie jest mój (jak wspomniałem dopiero się uczę). Pierwowzór działa. Zmiany jakie dokonałem to dodałem 2 atrybuty do tabeli i zmieniłem nazwy. Jak zmieniam tylko nazwy atrybutów bez dodawania to jest wszystko ok więc tutaj musi być problem.Niestety ja go nie dostrzegam. Proszę o pomoc.