Fehlermeldung bei MySQL Abfrage

cameeel

Erfahrenes Mitglied
Hab mir nen Script geschrieben bei dem nur Wettkämpfe angezeigt werden, die nicht älter als 1 Woche sind.
Das Problem liegt anscheinend in dem mysql_query(); befehl in der WHERE Bedingung, denn als ich die Bedingung vor dem echo ""; Befehl mit if() gesetzt hatte, gieng der Script noch ohne Probleme...
Vllt kann mir ja von euch jm. helfen!?

PHP:
<?php
include("mysql/dbconnect.php");
$ergebnis = mysql_query("SELECT Datum, Gegner, Timestamp FROM wettkaempfe WHERE Timestamp > time()-86400"); 
$daten = mysql_fetch_array($ergebnis, MYSQL_ASSOC);
	echo "
	<table border='0' width='580' valign='top' align='center'>
	<tr>
	<td width='290' valign='top' align='left'>
	<a href='wettkaempfe_archiv.php?gegner=".$daten[Gegner]."&datum=".$daten[Datum]."' class='inhalt'>SAbt Kehlen vs. ".$daten[Gegner]."</a>
	</td>
	</tr>
	</table>
	";
if(".$daten[Timestamp]." == false)
{ 
$timestamp = time();
$timestamp = mysql_query("INSERT INTO links (Timestamp) VALUES ('$timestamp')");
}
?>
 
Versuch's mal so:
PHP:
<?php
include("mysql/dbconnect.php");
$ergebnis = mysql_query("SELECT Datum, Gegner, Timestamp FROM wettkaempfe WHERE Timestamp > time()-86400");
$daten = mysql_fetch_array($ergebnis, MYSQL_ASSOC);
    echo "
    <table border='0' width='580' valign='top' align='center'>
    <tr>
    <td width='290' valign='top' align='left'>
    <a href='wettkaempfe_archiv.php?gegner=".$daten[Gegner]."&datum=".$daten[Datum]."' class='inhalt'>SAbt Kehlen vs. ".$daten[Gegner]."</a>
    </td>
    </tr>
    </table>
    ";
if($daten[Timestamp] == false)
{
  $timestamp = time();
  $timestamp = mysql_query("INSERT INTO links (Timestamp) VALUES ('".$timestamp."')");
}
?>

redlama
 
Geht auch nicht, der Fehler liegt jetzt antscheinend hier:
PHP:
  $daten = mysql_fetch_array($ergebnis, MYSQL_ASSOC);

wobei das eigentlich gar nicht sein kann...

Die Fehlermeldung lautet:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/philipp89/wettkaempfe2.php on line 70
 
$ergebnis = mysql_query("SELECT Datum, Gegner, Timestamp FROM wettkaempfe WHERE Timestamp > time()-86400");

Ich glaube dass die PHP-Funktion time() in dem Query nicht aufgelöst werden kann und somit kein gültiges Query entsteht.

Lass dir mal standardmäßig auch die Fehlerausgabe bei deinen Queries machen

cu shutdown
 
Werd ich machen, bei diesem Problem hab ich es dann so gelößt, nicht so schön aber es funktioniert:

PHP:
   <?php
   
     include("mysql/dbconnect.php");
     $ergebnis = mysql_query("SELECT Datum, Gegner, gewonnen_verloren, Timestamp FROM wettkaempfe"); 
     $daten = mysql_fetch_array($ergebnis, MYSQL_ASSOC);
     
     if(".$daten[Timestamp]." < time()-86400)
     {
   
   	echo "
   	<table border='0' width='580' valign='top' align='center'>
   	<tr>
   	<td width='200' valign='top' align='left'>
 	<a href='wettkaempfe_details.php?gegner=".$daten[Gegner]."&datum=".$daten[Datum]."' class='inhalt'>SAbt Kehlen vs. ".$daten[Gegner]."</a>
   	</td>
   	<td width='380' valign='top' align='left'>
 	<a href='wettkaempfe_details.php?gegner=".$daten[Gegner]."&datum=".$daten[Datum]."' class='inhalt'>".$daten[gewonnen_verloren]."</a>
   	</td>
   	</tr>
   	</table>
   	";
      
     }
   
     if(".$daten[Timestamp]." == false)
     { 
     $timestamp = time();
     $timestamp = mysql_query("INSERT INTO links (Timestamp) VALUES ('$timestamp')");
     }
   
   ?>


hab die Bedingung also nicht in den query Befehl rein sondern später durch eine if() Abfrage ersetzt...
Ich schätz nur das so die Ladezeit später steigen wird, denn die Datenbank ist ***** groß.
 
Zurück