# MySQL Query: Warning: mysql_fetch_row():supplied resource is not a valid MySQL result



## blck (25. November 2008)

Hallo,
ich hab mal eine Frage und zwar habe ich folgende Abfrage geschrieben:

```
$search = mysql_query("SELECT id, bereich, thema, text, DATE_FORMAT(entrydate, \"%d.%m.%Y\"), TIME_FORMAT(entrydate, \"%H.%i\")
			FROM config
			WHERE entrydate OR bereich OR thema OR text
			LIKE '$entry'
			ORDER BY entrydate DESC");
```
Diese Abfrage kriegt die Variable $entry von einem Suchfald. Sie wurde vorher mit mysql_real_escape_string und htmlentities behandelt. Die Abfrage ansich soll mir id, bereich, thema, text, und das Datum liefern und es eben nach diesem ordnen.
Seht ihr einen Fehler?
MfG Blck


----------



## Sprint (25. November 2008)

Tausch die maskierten " Anführungsstriche gegen unmaskierte ' Hochkomma aus. Dann läuft die Abfrage fehlerfrei.
Wenn es das nicht ist, erläutere dein Problem mal etwas genauer.


----------



## blck (26. November 2008)

Hallo,
leider löste dieses das Problem nicht.
Ich t?eig euch einfach mal den ganzen Code:

```
<?
if (isset($_SESSION['username'])) {

 if ($_POST['searchentry']==1) {

 $entry = $_POST['entry'];

 //Absichern
 $entry = mysql_real_escape_string(htmlentities($entry));

 $search = mysql_query("SELECT id, bereich, thema, text, DATE_FORMAT(entrydate, '%d.%m.%Y'), TIME_FORMAT(entrydate, '%H.%i')
			FROM config
			WHERE entrydate OR bereich OR thema OR text
			LIKE '$entry'
			ORDER BY entrydate DESC");

 while (list ($id,$bereich,$thema, $text, $date, $time) = mysql_fetch_row ($search)) {
?>
     <table>
      <tr>
       <td><h4> Verfasst am: <?echo $date;?> um: <?echo $time;?></h4></td>
      </tr>
      <tr>
       <th colspan='2'>Thema: <?echo $thema;?>
       <h4>aus: <? echo $bereich;?></h4></th>
      </tr>
      <tr>
<?
	if (strlen($text) > 12) {
	       echo "<td>".substr($text, 0, 150)."<a href='edit.php'>[&auml;ndern]</a></td>";
		$_SESSION['textid']=$id;
	} 
	else {
         echo "<td>$text</td>";
	}
?>
      </tr>
     </table>
<?
  }
 if ($search) {
  echo "Es wurden keine Eintr&auml;ge gefunden!";
 }
 mysql_free_result($search);
 }
?>
```

Diese Abfrage wirft mir jetzt alle Möglichen Ergebnisse aus, zwar auch das richtige aber eben nicht nur das!

Hoffe ihr könnt mir helfen.
MfG Blck


----------



## Nord-Süd-Richtung (29. November 2008)

Das einfachste in sachen wie finde ich selbst den Fehler lautet mysql_error().
versuche es mal so:

```
$search = mysql_query("SELECT id, bereich, thema, text, DATE_FORMAT(entrydate, '%d.%m.%Y'), TIME_FORMAT(entrydate, '%H.%i')
            FROM config
            WHERE entrydate OR bereich OR thema OR text
            LIKE '".$entry."'
            ORDER BY entrydate DESC") or die(mysql_error());
```
Das gibt dir eine Fehlermeldung aus(falls vorhanden).


----------

