Avatar billede buch78 Novice
31. august 2003 - 18:50 Der er 7 kommentarer og
1 løsning

Kan ikke få WHERE til at virke

Nogle der kan se hvad fejlen er i denne kode...

som den ser ud nu udskriver den ikke noget.. men fjerne jeg "AND ( t2.Film_id='$test')" så udskriver den

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>lånte film </TITLE>
</HEAD>
<body BGCOLOR="#cccccc" TEXT="#000000">
<BODY>
<?
  $test = "3";
    $host = "127.0.0.1";                                    // MySQL serveren
    $user = "root";                                            // Bruger
    $password = "***";                                        // Password   
    $dbname = "video";                                        // Navnet på databasen
    $conn = mysql_connect($host, $user, $password);        // Finder MyQL serveren
    mysql_select_db($dbname, $conn);                    // Åbner databasen 
                           
?>
<CENTER>
<tr><table border=1 width=500 cellspacing=1>
<td width=80><B>Film ID</B> </td>
<td width=80><B>Type</B> </td>
<td width=80><B>Title</B> </td>
<td width=80><B>udlejet</B> </td>
</tr>
<?
                  // henter variablerne ud fra tabelen
$foresp = mysql_query("SELECT t1.Film_id,t1.telefon,t1.Reg_dato,t2.titel FROM udlaante AS t1 , film AS t2        WHERE t1.Film_id=t2.film_id AND ( t2.Film_id='$test')") or die(mysql_error());

$data = mysql_fetch_row($foresp);
echo "<table>";
while ($row = mysql_fetch_array($foresp)) {
echo "
<tr><table border=1 width=500 cellspacing=1>
<td width=80>".$row['Film_id']."</td>
<td width=80>".$row['telefon']."</td>
<td width=80>".$row['Reg_dato']."</td>
<td width=80>".$row['titel']."</td>
</tr>";
}
echo "</table>";
mysql_close($db);
echo "<br>";
echo $test;
?>
</BODY>
</HTML>
Avatar billede superanden Nybegynder
31. august 2003 - 18:52 #1
WHERE 't1.Film_id'=='t2.film_id'
Avatar billede buch78 Novice
31. august 2003 - 18:53 #2
hvorfor det ???
Avatar billede jakoba Nybegynder
31. august 2003 - 19:07 #3
$foresp = mysql_query("
    SELECT t1.Film_id,t1.telefon,t1.Reg_dato,t2.titel
    FROM udlaante AS t1 , film AS t2
    WHERE t1.Film_id=t2.film_id
      AND ( t2.Film_id = '$test' )
") or die(mysql_error());

syntaktisk er der intet ivejen med den sql kommando

mysql er officiel ligeglad med om du bruger store eller små bogstave i navne. men prøv alligevel at være konsekvent. istedet for at skrive  't2.film_id' eet sted og 't2.Film_id' et andet sted.

sædvanligvis vil et _id være et tal. men du sætter '-tegn omkring $test somom den indeholder en streng.

mvh JakobA
Avatar billede jakoba Nybegynder
31. august 2003 - 19:09 #4
superanden:  definitive IKKE dobbelt lighedstegn. det er til php, C og Java; det duer ikke i SQL.
Avatar billede buch78 Novice
31. august 2003 - 19:30 #5
lig lige et svar..
Avatar billede jakoba Nybegynder
31. august 2003 - 19:36 #6
hvad var det der hjalp ?
Avatar billede jakoba Nybegynder
31. august 2003 - 19:41 #7
denne linie:
    $data = mysql_fetch_row($foresp);
henter den første række der bliver fundet, og såvidt jeg kan se bruger du aldrig data fra den række til noget.
Avatar billede jesperholm Nybegynder
31. august 2003 - 19:53 #8
ok.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester