Znalazłem stronę www na podstawie której staram się zrozumieć działanie dodawania rekordów w bazie mysql poprzez stronę www. Jest tam przykład o nazwie hotele. Zaciągnąłem przykładowe pliki i nie potrafię zrozumieć dlaczego skrypt o nazwie 'hotele-dodawanie-rekordów.php' nie działa. Konkretnie - nie działa ten fragment kodu:
Kod
$query = "INSERT INTO thotele(nazwa, kod, miejscowosc, ulica, numerdomu, telefon, www)".
" VALUES ('$linia[0]', '$linia[1]', '$linia[2]', '$linia[3]',
'$linia[4]', '$linia[5]', '$linia[6]')";
$result = mysql_query($query)
or die("Query failed");
" VALUES ('$linia[0]', '$linia[1]', '$linia[2]', '$linia[3]',
'$linia[4]', '$linia[5]', '$linia[6]')";
$result = mysql_query($query)
or die("Query failed");
Na stronie pojawia się tabelka z nazwami poszczególnych pól bazy ale łącznie z komunikatem błędnego zapytania 'Query failed'.
Tu cały skrypt:
Kod
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>HOTELE: dodawanie rekordów</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</HEAD>
<BODY>
<H1>HOTELE - dodawanie rekordów</H1>
<H2>Dołączanie rekordów do bazy danych:</H2>
<TABLE border="1">
<TR>
<TD>
<STRONG>Nazwa</STRONG>
</TD>
<TD>
<STRONG>Kod</STRONG>
</TD>
<TD>
<STRONG>miejscowość</STRONG>
</TD>
<TD>
<STRONG>Ulica</STRONG>
</TD>
<TD>
<STRONG>Numer domu</STRONG>
</TD>
<TD>
<STRONG>telefon</STRONG>
</TD>
<TD>
<STRONG>www</STRONG>
</TD>
</TR>
<?php
$nazwabazydanych = "dbhotele";
$link = mysql_connect("localhost", "root", "krasnal")
or die("BŁĄD: nie można się połączyć z serverem mySQL");
mysql_select_db($nazwabazydanych)
or die("BŁĄD: wybór bazy danych");
$plik = file('hotele.txt');
$plikc = count($plik);
for ($i = 0; $i < $plikc; $i++) {
$linia = explode('|', trim($plik[$i]));
$linia[0] = strtoupper($linia[0]);
$query = "INSERT INTO thotele(nazwa, kod, miejscowosc, ulica, numerdomu, telefon, www)".
" VALUES ('$linia[0]', '$linia[1]', '$linia[2]', '$linia[3]',
'$linia[4]', '$linia[5]', '$linia[6]')";
$result = mysql_query($query)
or die("Query failed");
$liniac = count($linia);
for ($j = 0; $j < $liniac; $j++) {
if ($linia[$j] == '') {
$linia[$j] = ' ';
}
}
?>
<TR>
<TD><?php echo $linia[0]; ?></TD>
<TD><?php echo $linia[1]; ?></TD>
<TD><?php echo $linia[2]; ?></TD>
<TD><?php echo $linia[3]; ?></TD>
<TD><?php echo $linia[4]; ?></TD>
<TD><?php echo $linia[5]; ?></TD>
<TD><?php echo $linia[6]; ?></TD>
</TR>
<?php
}//for ($i = ...
mysql_close($link);
?>
</TABLE>
</BODY>
</HTML>
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>HOTELE: dodawanie rekordów</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</HEAD>
<BODY>
<H1>HOTELE - dodawanie rekordów</H1>
<H2>Dołączanie rekordów do bazy danych:</H2>
<TABLE border="1">
<TR>
<TD>
<STRONG>Nazwa</STRONG>
</TD>
<TD>
<STRONG>Kod</STRONG>
</TD>
<TD>
<STRONG>miejscowość</STRONG>
</TD>
<TD>
<STRONG>Ulica</STRONG>
</TD>
<TD>
<STRONG>Numer domu</STRONG>
</TD>
<TD>
<STRONG>telefon</STRONG>
</TD>
<TD>
<STRONG>www</STRONG>
</TD>
</TR>
<?php
$nazwabazydanych = "dbhotele";
$link = mysql_connect("localhost", "root", "krasnal")
or die("BŁĄD: nie można się połączyć z serverem mySQL");
mysql_select_db($nazwabazydanych)
or die("BŁĄD: wybór bazy danych");
$plik = file('hotele.txt');
$plikc = count($plik);
for ($i = 0; $i < $plikc; $i++) {
$linia = explode('|', trim($plik[$i]));
$linia[0] = strtoupper($linia[0]);
$query = "INSERT INTO thotele(nazwa, kod, miejscowosc, ulica, numerdomu, telefon, www)".
" VALUES ('$linia[0]', '$linia[1]', '$linia[2]', '$linia[3]',
'$linia[4]', '$linia[5]', '$linia[6]')";
$result = mysql_query($query)
or die("Query failed");
$liniac = count($linia);
for ($j = 0; $j < $liniac; $j++) {
if ($linia[$j] == '') {
$linia[$j] = ' ';
}
}
?>
<TR>
<TD><?php echo $linia[0]; ?></TD>
<TD><?php echo $linia[1]; ?></TD>
<TD><?php echo $linia[2]; ?></TD>
<TD><?php echo $linia[3]; ?></TD>
<TD><?php echo $linia[4]; ?></TD>
<TD><?php echo $linia[5]; ?></TD>
<TD><?php echo $linia[6]; ?></TD>
</TR>
<?php
}//for ($i = ...
mysql_close($link);
?>
</TABLE>
</BODY>
</HTML>
Czy może mi ktoś napisać dlaczego tak się dzieje? Skrypty pod wskazanym wyżej adresem - można je ściągnąć w kilka sekund.
Pozdrawiam