03. februar 2009 - 15:08
Der er
7 kommentarer og 1 løsning
Søgning i mysql
Jeg skal søge i 4 tabeller og data kommer da også men følgende fejl kommer også 12 gange. Er der en der kan hjælpe med at se hvad der er galt? Mvh Jan Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\home\orkiderejserdk\www\soegdb.php on line 334 <? $soegeord=$_POST["soegeord"]; search_db("rundrejser",$soegeord); $soegeord=$_POST["soegeord"]; search_db("kataloger",$soegeord); $soegeord=$_POST["soegeord"]; search_db("gaestebog",$soegeord); $soegeord=$_POST["soegeord"]; search_db("hotel",$soegeord); ?> <? // // søgefunktion // parametre search_db([tabelnavn],[søgetekst]) // function search_db($tabel,$var) { $trimmed = trim($var); if ($trimmed == "") { echo "<p>Udfyld søgefeltet.</p>"; exit; } ?> <?php include('Connections/orkiderejserdb.php'); ?> <?php mysql_select_db($database_orkiderejserdb, $orkiderejserdb) or die("Unable to select database"); $query = "select * from ".$tabel." where verdensdel like \"%$trimmed%\" OR broedtekst LIKE \"%$trimmed%\""; $results=mysql_query($query); $query1 = "select * from ".$tabel." where katalog like \"%$trimmed%\" OR target LIKE \"%$trimmed%\""; $results1=mysql_query($query1); $query2 = "select * from ".$tabel." where besked like \"%$trimmed%\" OR subject LIKE \"%$trimmed%\""; $results2=mysql_query($query2); $query3 = "select * from ".$tabel." where hotelnavn like \"%$trimmed%\" OR beskrivelse LIKE \"%$trimmed%\""; $results3=mysql_query($query3); echo "<p>Du søgte på: " $var "</p>"; echo "<table cellpadding=\"2\" cellspacing=\"0\" border=\"1\">"; while ($row= mysql_fetch_array($results)) { $overskrift = $row['overskrift']; $verdensdel = $row['verdensdel']; $broedtekst = $row['broedtekst']; $billede = $row['billede']; $laes_mere = $row['laes_mere']; $target = $row['target']; $prisindh = $row['prisindh']; $pris = $row['pris']; echo "<tr><td>$verdensdel</td><td>$overskrift</td></tr> <tr><td><img src=$billede /></td><td>$broedtekst<br /><br /><a href= $laes_mere $target> $overskrift $prisindh kr. $pris</a></td></tr>" ; } echo "</table>"; echo "<table cellpadding=\"2\" cellspacing=\"0\" border=\"1\">"; while ($row= mysql_fetch_array($results1)) { $katalog = $row['katalog']; $billede = $row['billede']; $linktil = $row['linktil']; $target = $row['target']; echo "<tr><td>$katalog</td><td> </td></tr> <tr><td><img src=img/$billede /></td><td><br /><br /><a href= $linktil $target> $billede</a></td></tr>" ; } echo "</table>"; echo "<table cellpadding=\"2\" cellspacing=\"0\" border=\"1\">"; while ($row= mysql_fetch_array($results2)) { $subject = $row['subject']; $besked = $row['besked']; $navn = $row['navn']; echo "<tr><td>Gæstebog</td><td>$navn</td></tr> <tr><td>$subject</td><td>$besked</td></tr>" ; } echo "</table>"; echo "<table cellpadding=\"2\" cellspacing=\"0\" border=\"1\">"; while ($row= mysql_fetch_array($results3)) { $land = $row['land']; $stednavn = $row['stednavn']; $hotelnavn = $row['hotelnavn']; $adresse = $row['adresse']; $kategori = $row['kategori']; $kategori2 = $row['kategori2']; $kategori3 = $row['kategori3']; $kategori4 = $row['kategori4']; $kategori5 = $row['kategori5']; $beskrivelse = $row['beskrivelse']; $billede1 = $row['billede1']; $billede2 = $row['billede2']; echo "<tr><td>$stednavn</td><td>$hotelnavn</td></tr> <tr><td>$hotelnavn <br /> $adresse <br /><br /><img src=img/$kategori /> <img src=img/$kategori2 /> <img src=img/$kategori3 /> <img src=img/$kategori4 /> <img src=img/$kategori5 /><br /><br />$beskrivelse</td><td><img src=/img/$billede1 /> <img src=/img/$billede2 /></td></tr>" ; } echo "</table>"; } ?>
Annonceindlæg fra DE-CIX
Edge computing: behandling ved kilden
Edge computing revolutionerer den måde, data behandles på, ved at bringe kapacitet og ydeevne tættere på dér, hvor der er behov for det.
15. april 2025
05. februar 2009 - 22:19
#1
Umiddelbart ville jeg anbefale dig at skrive din queries således: $query = "select * from ".$tabel." where verdensdel like '%$trimmed%' OR broedtekst LIKE '%$trimmed%'"; Altså med ' i stedet for \" i din string. Desuden bør du køre addslashes($trimmed). Mvh Søren
05. februar 2009 - 22:20
#2
Men ellers ville det da være rart at vide hvilken linie fejlen er i.
09. februar 2009 - 16:54
#3
Så er jeg hjemme igen. Rettelser lavet undtagen addslashes($trimmed) Nu kommer der generel fejl: Parse error: syntax error, unexpected T_LNUMBER, expecting ',' or ';' in D:\home\orkiderejserdk\www\soegdb.php on line 319 Koden er nu: <? $soegeord=$_POST["soegeord"]; search_db("rundrejser",$soegeord); $soegeord=$_POST["soegeord"]; search_db("kataloger",$soegeord); $soegeord=$_POST["soegeord"]; search_db("gaestebog",$soegeord); $soegeord=$_POST["soegeord"]; search_db("hotel",$soegeord); ?> <? // // søgefunktion // parametre search_db([tabelnavn],[søgetekst]) // function search_db($tabel,$var) { $trimmed = trim($var); if ($trimmed == "") { echo "<p>Udfyld søgefeltet.</p>"; exit; } ?> <?php include('Connections/orkiderejserdb.php'); ?> <?php mysql_select_db($database_orkiderejserdb, $orkiderejserdb) or die("Unable to select database"); $queryture = "select * from ".$tabel." where verdensdel like '%$trimmed%' OR broedtekst LIKE '%$trimmed%'"; $results=mysql_query($queryture); $querykatalog = "SELECT * FROM ".$tabel." WHERE katalog LIKE '%$trimmed%'"; $resultsa=mysql_query($querykatalog); $querybog = "SELECT * FROM ".$tabel." WHERE besked LIKE '%$trimmed%' OR subject LIKE '%$trimmed%'"; $resultsb=mysql_query($querybog ); $queryhotel = "SELECT * FROM ".$tabel." WHERE hotelnavn LIKE '%$trimmed%' OR beskrivelse LIKE '%$trimmed%'"; $resultsc=mysql_query($queryhotel); echo "<p>Du søgte på: " $var "</p>"; echo "<table cellpadding="2" cellspacing="0" border="1">"; while ($row= mysql_fetch_array($results)) { $overskrift = $row['overskrift']; $verdensdel = $row['verdensdel']; $broedtekst = $row['broedtekst']; $billede = $row['billede']; $billede1 = $row['billede1']; $laes_mere = $row['laes_mere']; $target = $row['target']; $prisindh = $row['prisindh']; $pris = $row['pris']; echo "<tr><td>$verdensdel</td><td>$overskrift</td></tr> <tr><td><img src=$billede /><img src=$billede1 /></td><td>$broedtekst<br /><br /><a href= $laes_mere $target> $overskrift $prisindh kr. $pris</a></td></tr>" ; } echo "</table>"; echo "<table cellpadding="2" cellspacing="0" border="1">"; while ($row= mysql_fetch_array($resultsa)) { $katalog = $row['katalog']; $billede = $row['billede']; $linktil = $row['linktil']; $target = $row['target']; echo "<tr><td>$katalog</td><td> </td></tr> <tr><td><img src=img/$billede /></td><td><br /><br /><a href= $linktil $target> $billede</a></td></tr>" ; } echo "</table>"; echo "<table cellpadding="2" cellspacing="0" border="1">"; while ($row= mysql_fetch_array($resultsb)) { $subject = $row['subject']; $besked = $row['besked']; $navn = $row['navn']; echo "<tr><td>Gæstebog</td><td>$navn</td></tr> <tr><td>$subject</td><td>$besked</td></tr>" ; } echo "</table>"; echo "<table cellpadding="2" cellspacing="0" border="1">"; while ($row= mysql_fetch_array($resultsc)) { $land = $row['land']; $stednavn = $row['stednavn']; $hotelnavn = $row['hotelnavn']; $adresse = $row['adresse']; $kategori = $row['kategori']; $kategori2 = $row['kategori2']; $kategori3 = $row['kategori3']; $kategori4 = $row['kategori4']; $kategori5 = $row['kategori5']; $beskrivelse = $row['beskrivelse']; $billede1 = $row['billede1']; $billede2 = $row['billede2']; echo "<tr><td>$stednavn</td><td>$hotelnavn</td></tr> <tr><td>$hotelnavn <br /> $adresse <br /><br /><img src=img/$kategori /> <img src=img/$kategori2 /> <img src=img/$kategori3 /> <img src=img/$kategori4 /> <img src=img/$kategori5 /><br /><br />$beskrivelse</td><td><img src=/img/$billede1 /> <img src=/img/$billede2 /></td></tr>" ; } echo "</table>"; } ?>
09. februar 2009 - 17:51
#4
Mit indlæg kl 1654 er nu i orden. Det oprindelige problem er der stadig: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\home\orkiderejserdk\www\soegdb.php on line 338 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\home\orkiderejserdk\www\soegdb.php on line 350 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\home\orkiderejserdk\www\soegdb.php on line 361 Du søgte på: " thai " Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\home\orkiderejserdk\www\soegdb.php on line 320 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\home\orkiderejserdk\www\soegdb.php on line 350 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\home\orkiderejserdk\www\soegdb.php on line 361 Du søgte på: " thai " Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\home\orkiderejserdk\www\soegdb.php on line 320 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\home\orkiderejserdk\www\soegdb.php on line 338 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\home\orkiderejserdk\www\soegdb.php on line 361 Du søgte på: " thai " Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\home\orkiderejserdk\www\soegdb.php on line 320 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\home\orkiderejserdk\www\soegdb.php on line 338 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\home\orkiderejserdk\www\soegdb.php on line 350 Disse warnings kommer men søgningen er komplet. Mvh Jan
11. februar 2009 - 10:24
#5
Jeg har nu "løst" problemet. while($row = @mysql_fetch_array($result)) { ....... men som jeg kan læse vises fejlen ikke da problemet skulle stadig være der?? Er der en rigtig måde det kan laves på? Mvh Jan
11. februar 2009 - 12:04
#6
rettelse ;- men, som jeg finder på nettet vises fejlen bare ikke. Problemet skulle dog stadig være der??
weeelo Lægger du et svar. Så deler vi point. Jan
07. september 2009 - 08:33
#8
Jan
Computerworld tilbyder specialiserede kurser i database-management