DB query

so habs mal gemacht. alle anderen Skripte laufen nun.

nur dieses hier mal wieder nicht:

PHP:
<? 
include "config.inc.php"; 


  if (isset($_GET['buchstabe'])) 
     { 
    $buchstabe = $_GET['buchstabe']; 
     } 
  else 
    { 
    $buchstabe = "a"; 
    } 

  $db_connect = mysql_connect( "$db_host", "$db_user", "$db_pass" ); 
    
  mysql_select_db("$db_name", $db_connect); 

  $query  = "SELECT name FROM movies WHERE name LIKE '". $_GET['buchstabe'] ."%' ORDER BY name DESC"; 
    
  $num = mysql_num_rows($query) or die(mysql_error());  

  
for ($i=0; $i<$num; $i++) 
{ 
 $id = mysql_result($res, $i, "id"); 
 $name = mysql_result($res, $i, "name"); 
 $genre = mysql_result($res, $i, "genre");
 $starttermin = mysql_result($res, $i, "starttermin"); 
 $stamp = mysql_result($res, $i, "stamp"); 

?>
<tr>
    <td width="100%" align="center"><?echo $name;?></td>
  </tr>

<?   
  } 

  mysql_close($db_connect); 
?>

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /www/htdocs/v079556/templates/movies/test2/action/archiv2.php on line 176
 
JUNGE!!!!(oder Mädel!!!!)
Schau erst einmal was für Vars du wie verwendest, du hast 2 SINNLOSE Variablen drin und der fehler ist auch einfach zu erklären...

1.
PHP:
 if (isset($_GET['buchstabe'])) 
...
SELECT name FROM movies WHERE name LIKE '". $_GET['buchstabe'] ."%' ORDER BY name DESC

Fällt dir was auf?
Es wurde schon vorher erwähnt,erst prüfst du ob die variable existiert,streckst sie bei true in eine andere Variable[ENDE, Die Schleife ist fertig, der Wert der Variable wurde jedoch NICHT modifiziert!]
Benutze in deiner Q $buchstabe :P

ACH und :-)
FAST HÄTTE ICH ES VERGESSEN

Wenn du etwas einer Funktion übergibst,das ein Ergebnist einer MySql-Q erwartet, dann mach doch bitte eine... :P, is ja drollig!(keine persönliche Kritik, ich verwechsle bis heute POST und GET :P)

-->

PHP:
$res = mysql_query($query);
ist i.d.R gesünder.

Ich handhabe das ganze etwas anders, doch ist deine version sicherlich auch(*zustimmend und nichtsahnendes nicken*) auch okay...

PHP:
$rows = mysql_fetch_row($res);
for ($i=0; $i<$rows; $i++) 
{ 
//Jede Spalte erhält ihre Position im Array $rows, beginnend mit 0
echo $rows[0];
//alternativ habe ich sowas auch schon gesehen:
echo $rows['spaltenname'];  
}

Ich garantiere NICHT für die Richtigkeit dieser Codeschnipsel da ich sie FREIHAND geschrieben habe und es etwas um die 4 Uhr morgens sein sollte
 
Zurück