PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abfrage aus Datenbank


chriofthechri
06.01.2004, 13:15:23
Hallo, ich hoffe nicht einen gleichen Thread überlesen zu haben. Es geht um folgendes.

<?php
$tour1 = "AA";
$res = mysql_db_query("XxXxX",
"select * from Tour WHERE tour = $tour1");
$num = mysql_num_rows($res);
for ($i=0; $i<$num; $i++)
{
$Touren = mysql_result($res, $i, "tour");
$d_date = mysql_result($res, $i, "datum");
echo "<font face=Verdana size=2>$Touren $d_date </font><br>";

}
?>

Das Problem das ich habe liegt in der WHERE Definition. Ich habe in dieser DB 30 Datensätze und bei 17 davon ist tour "AA". Jedoch meldet er immer "Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource". In der selben DB stehen auch Datumsangaben, wenn ich die Where Def. aufs Datum beziehe funktioniert es, nur leider so nicht.

Ich verstehe es nicht, kann jemand helfen?

chris17
06.01.2004, 13:20:33
Hi,

probier's mal mit ', wenn tour ein "String" ist:

$res = mysql_db_query("XxXxX",
"SELECT * FROM Tour WHERE tour = '$tour1'");# '$tour1'

Grüsse

EDIT:
Benutze lieber mysql_query() -> http://de.php.net/manual/de/function.mysql-db-query.php

mysql_select_db("XxXxX");
$res = mysql_query("SELECT * FROM Tour WHERE tour = '$tour1'");# '$tour1'

chriofthechri
06.01.2004, 13:29:33
YES!
Danke, funktionieren tuts so. Ich versteht zwar nicht ganz warum -> weil n00p. Aber Hauptsache es geht.

Danke für die prompte Antwort.

PS. falls dir langweilig ist kannst mir ja noch kurz posten WARUM es jetzt geht *g*

chris17
06.01.2004, 13:41:56
Ok, in Kurzform :-)

wenn tour eine Zeichenkette ist dann musst Du die ' verwenden
-> WHERE tour='$tour1'

wenn tour eine Zahl ist
-> WHERE tour=$tour1

chriofthechri
06.01.2004, 13:55:27
ahh. das ist dann quasi eine coole faustregel :-)))

thx

meikel
06.01.2004, 21:54:27
Original geschrieben von chriofthechri
das ist dann quasi eine coole faustregel :-)))
Mit einer kleinen Tücke:
1.01 ist eine Zahl, 1,01 ist ein String.