verbindungs-problem...

Precog

Erfahrenes Mitglied
hi.

ich habe ein peinliches prob.
ich weiß allerdings wirklich nich, wo an diesem winzie-funzel-script der fehler liegt:
PHP:
<?php
include ("connect.php");
$db="v6_news";
mysql_select_db($db, $link);
$result = mysql_query("SELECT * FROM $db ORDER BY timestamp DESC", $link); 
$num_rows = mysql_num_rows($result); 
for ($i=0;$i<$num_rows;$i++)
{
$ergebnis[$i]=mysql_fetch_array('$result');
}
?>
connect.php
PHP:
<?php
$user="lala";
$pass="lala";
$host="localhost";
$db_name="lala";
$link=mysql_connect ( $host, $user, $pass ) or die (mysql_error());
?>
Fehlermeldung:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /www/htdocs/v074401/inc/home.php on line 7

Line 7: $num_rows = mysql_num_rows($result);

thx schonmal,
victork

PS: Komm jetzt wahrscheinlich wieder öfter hier her, weil ich mal wieder was machen muss.... ;)
 
Sicher, dass es die Spalte timestamp gibt (vielleicht n Buchstabendreher)? Ansonsten lass dir nach der Query mal nen mysql_error anzeigen.
 
-

PHP:
$db="v6_news";

mysql_select_db($db, $link);
Hier wählst du deine Datenbank aus.
PHP:
mysql_query("SELECT * FROM $db ORDER BY timestamp DESC", $link);
Und hier willst du etwas aus einer Tabelle abfragen. In $db steht aber der Name der Datenbank und nicht der einer Tabelle.
 
thx, ich bekomme keine fehlermeldung mehr, aber auch keinen inhalt ausgegeben...
PHP:
<?php
include ("connect.php");
$db="v6_news";
mysql_select_db($db_name, $link);

$result = mysql_query("SELECT * FROM $db ORDER BY timestamp DESC", $link); 
$num_rows = mysql_num_rows($result); 

for ($i=0;$i<$num_rows;$i++)
{
$ergebnis[$i]=mysql_fetch_array($result);
} 
?>
<html html html>
<td width="168"><?php echo $ergebnis[$i][titel]; ?></td>
</html html html>
<?php
mysql_close ($link) or die (mysql_error());
?>
 
Schreib doch die $db gleich ausgeschrieben in die $sql...
PHP:
$result = mysql_query("SELECT * FROM v6_news ORDER BY timestamp DESC", $link);
Ansonst würd ich immer den generierten sql-Befehl anschauen, ob der überhaupt stimmt (echo $sql).
Oder die v6_news is leer...? *g*
 
Original geschrieben von Neuk
Ansonst würd ich immer den generierten sql-Befehl anschauen, ob der überhaupt stimmt (echo $sql).
Oder die v6_news is leer...? *g*
nee, in der v6_news is was drin...
ich hab echt sonst keine ahnung mehr, warum der m ir nix zeigen will...:(

victork
 
Hm, sagen wir mal so - ich blick da nicht so richtig durch! Aber fangen wir mal vorne an:

1. warum immer dieses $link bei jedem Datenbangedöns - warum nicht einfach in der Connect.php das "$link = " weglassen und einfach nur mysql_connect. Dann besteht die Verbindung immer!!!

2. Warum "mysql_num_rows"? Wenn du alles ausgegeben haben möchtes mache einfach
PHP:
$result = mysql_query("...");
while($irgendwas = mysql_fetch_array($result))
{
print($irgendwas['titel']);
.
.
.
}
so sollte es auf jeden Fall einfach gehen als mit dem ewigen auslesen wie viele Zeilen da aus der DB kommen! Und sollte schneller sein!
 
Was ich immer in solchen Situationen mache:
ich gebe den SQL-Befehl aus, kopiere ihn nach phpMyAdmin und schaue mir an wie die Ausgabe ist.
Dann kann ich noch mir in phpMyAdmin den passenden SELECT Query generieren lassen und in das skript einfügen.
 
Zurück