identyczne a jednak inne?;/

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Aver

identyczne a jednak inne?;/

Post autor: Aver »

Mam dwa kody skryptów przyczym jeden działa (z cd mikom'u) natomiast drugi(mój odręcznie napisany) nie działa.
Oto mój kod:
[php]
<?

$db_name = "testDB";
$table_name = "my_music";

$connection = @mysql_connect("localhost", "root", "krasnal")
or die("Próba połączenia niepowiodła się.");

$db = @mysql_select_db($db_name, $connection)
or die("Wybór bazy danych niepowiódł się.");

$sql = "SELECT id, format, title, artist_fn, artist_ln, rec_label, my_notes, date_acq
FROM $table_name
ORDER BY title
";

$result = @myslq_query($sql,$connection)
or die("Wykonanie zapytania niepowiodło się.");

while($row = mysql_fetch_array($result))
{
$id = $row['id'];
$format = $row['format'];
$title = $row['title'];
$artist_fn = $row['artist_fn'];
$artist_ln = $row['artist_ln'];
$rec_label = $row['rec_label'];
$my_notes = $row['my_notes'];
$date_acq = $row['date_acq'];

if($artist_fn != "")
{
$artist_fullname = trim("$artist_fn $artist_ln");
}
else
{
$artist_fullname = trim("$artist_ln");
}

if(date_acq == "0000-00-00")
{
$date_acq = "[nieznana]";
}

$display_block .="
<p><strong>$title</strong> ($artist_fullname)<br>
$my_notes <em>(zakupiono: $date_acq, format: $format)</em></p>
";

}
?>

<html>
<head>
<title>Moja muzyka (Według tytułu)</title>
</head>
<body>
<h1>Moja muzyka</h1>
<? echo "$display_block"; ?>
<p><a href="my_menu.html">Powrót do menu</a>
</body>
</html>
[/php]

Jak go otwieram w przeglądarce to okno jest puste, ani info o jakimś errorze ani treści - poprostu nic

A to kod z cd:
[php]
<?
$db_name = "testDB";
$table_name = "my_music";

$connection = @mysql_connect("localhost", "sandman", "tQ9472b")
or die("Couldn't connect.");

$db = @mysql_select_db($db_name, $connection)
or die("Couldn't select database.");


$sql = "SELECT id, format, title, artist_fn, artist_ln, rec_label, my_notes, date_acq
FROM $table_name
ORDER BY title
";

$result = @mysql_query($sql,$connection)
or die("Couldn't execute query.");

while ($row = mysql_fetch_array($result)) {
$id = $row['id'];
$format = $row['format'];
$title = $row['title'];
$artist_fn = $row['artist_fn'];
$artist_ln = $row['artist_ln'];
$rec_label = $row['rec_label'];
$my_notes = $row['my_notes'];
$date_acq = $row['date_acq'];

if ($artist_fn != "") {
$artist_fullname = trim("$artist_fn $artist_ln");
} else {
$artist_fullname = trim("$artist_ln");
}

if ($date_acq == "0000-00-00") {
$date_acq = "[unknown]";
}

$display_block .= "
<P><strong>$title</strong> ($artist_fullname)<br>
$my_notes <em>(acquired: $date_acq, format: $format)</em></p>
";

}
?>
<HTML>
<HEAD>
<TITLE>My Music (Ordered by Title)</TITLE>
</HEAD>
<BODY>
<H1>My Music</H1>
<? echo "$display_block"; ?>
<P><a href="my_menu.html">Return to Menu</a></p>
</BODY>
</HTML>
[/php]
Moze ktos wie co jest źle?
shw
Posty: 1
Rejestracja: ndz lis 23, 2003 10:23 pm

Re: identyczne a jednak inne?;/

Post autor: shw »

po 1 - jezeli masz jakies problemy to podstawowa rzecza jest usuwanie znaku malpy @ przed funkcjami
po 2 - juz na 1 rzut oka znalazlem w 1 kodzie literowke
$result = @myslq_query($sql,$connection)
or die("Wykonanie zapytania niepowiodło się.");
myslq zamiast mysql
uzywaj jakiegos edytora, ktory podswietla skladnie - baaaaaardzo pomaga na literowki!
splatch
Nowy
Nowy
Posty: 36
Rejestracja: śr gru 04, 2002 7:05 pm
Lokalizacja: Bydgoszcz/Brodnica
Kontakt:

Re: identyczne a jednak inne?;/

Post autor: splatch »

Co do używania funkcji daty w MySQL to szczerze odradzam. Lepiej jest zastosować uniksowy czas: przy wstawianiu danych dać np:
[sql]INSERT INTO moje_filmy
SET data = UNIX_TIMESTMAP()[/sql]
bądź użyć funkcji php: [manual]time[/manual]. Fromat daty zapisanej w taki sposób można dowolnie zmieniać za pomocą funkcji np: [manual]date[/manual]('d m y',$row['data]).
ODPOWIEDZ