ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / PHP / MySQL Probleme / Suche ->fehler, nur warum?


Seite 1 von 1

Mastermind schrieb am 23.02.2004 um 12:45 Uhr

Hi Leutz,
ich hab mir nen kleines Gästebuch zusammen gebaut! (Mit anmelden...)!
Naja ich wollte jetzt noch ne Suchfunktion einbauen! tja nur leider schmeit er mir immer wieder den gleichen fehler raus:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in suchen.php on line
-->Zeile ist diese hier: while($ergarray = mysql_fetch_array($erg))
also da wo er den befehl abschickt..
Der befehl selbst funktioniert!
hier mal der quellcode für die suchen.php
($ort, $suchen und $art werden später von suchen.html übergeben hab ich nur hier vordefienert, um den fehler schneller finden zu können!!)

[CODE]
include("verbind.inc.php");
$ort="eintrag";
$suchen="qwer";
$art="teil";
if ($art == "voll")
{
$sql="select Nick as Nick, Datum as Datum, Eintrag as Eintrag from eingetragen where $ort='$suchen';";
}
if ($art == "teil")
{
$sql="SELECT Nick as Nick, Datum as Datum, Eintrag as Eintrag FROM eingetragen WHERE ($ort like '$suchen');";
}
if(isset($sql)) {
$erg=mysql_query($sql);
while($ergarray = mysql_fetch_array($erg))
{
print "<link rel='stylesheet' href='../../sof2/css/BodyFont.css' type='text/css'>
<tr>
<td>$ergarray[Nick]</td>
<td>$ergarray[Datum]</td>
<td>$ergarray[Eintrag]</td>
</tr>";
}
}
[/CODE]

Ich hoffe mir kann gehlfen werden!!!

Big thx

Mastermind

Narodnaja schrieb am 24.02.2004 um 19:31 Uhr

du solltest ORT noch in die SELECT-Anweisung und dann ausserdem nicht $ort ansprechen, da in dem Teil schon der Spaltenname stehen sollte, und nicht $spaltenname. Wenns ne Variable ist, dann wie hinten '.$variable.' ;)

Chris_HighHat schrieb am 27.02.2004 um 08:01 Uhr

[quote]Mastermind postete
[CODE]
include("verbind.inc.php");
[b]$ort="eintrag";[b]
$suchen="qwer";
$art="teil";
if ($art == "voll")
{
$sql="select Nick as Nick, Datum as Datum, Eintrag as Eintrag from eingetragen where $ort='$suchen';";
}
if ($art == "teil")
{
$sql="SELECT Nick as Nick, Datum as Datum, Eintrag as Eintrag FROM eingetragen WHERE ($ort like '$suchen');";
}
if(isset($sql)) {
$erg=mysql_query($sql);
while($ergarray = mysql_fetch_array($erg))
{
print "<link rel='stylesheet' href='../../sof2/css/BodyFont.css' type='text/css'>
<tr>
<td>$ergarray[Nick]</td>
<td>$ergarray[Datum]</td>
<td>$ergarray[Eintrag]</td>
</tr>";
}
}
[/CODE]

[/quote]

Chris_HighHat schrieb am 27.02.2004 um 08:05 Uhr

also

1. Dein $ort benutzt du später in deiner SQL-Abfrage als Spaltenname, es hat allerdings den anschein, das die Spalte "Eintrag" und nicht wie in deiner Variable "eintrag" heißt.

2.Nimm am ende deiner SQL-Strings die ";" weg, SQL setzt die abschließenden Semikolons automatisch.

Narodnaja schrieb am 29.02.2004 um 01:28 Uhr

print [...] <td>$ergarray[[b]Eintrag[/b]]</td>

du weisst aber schon wie du arrays ansprichst, bzw. was thwboard code ist und wo der Unterschied zum HTML ist ?

als Hinweis:

$array['assoziativ'];
$array[0];

NICHT

$array[assoziativ];
$array['0'] (im allgemeinen)

und schon gar nicht Formatierungszeichen mitten in die Variable: $var<strong>iab</strong>le ??

Chris_HighHat schrieb am 01.03.2004 um 15:59 Uhr

krass, garnet gesehen *g*


weil mir die errors in solch langen strings aufen sack gehen mach ichs immer so:
<?
[..]
while($ergarray = mysql_fetch_array($erg))
{
?>
<link rel='stylesheet' href='../../sof2/css/BodyFont.css' type='text/css'>
<tr>
<td><? echo $ergarray["Nick"]?></td>
<td><? echo $ergarray["Datum"]?></td>
<td><? echo $ergarray["Eintrag"]?></td>
</tr>
<?
}
[..]

Chris_HighHat schrieb am 01.03.2004 um 16:01 Uhr

wobei mir gerade auffällt, das du die Zeile
<link rel='stylesheet' href='../../sof2/css/BodyFont.css' type='text/css'>

besser aus der Schleife rausnimmst ;)

Seite 1 von 1