Avatar billede orkiderejser Novice
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>";
}
?>
Avatar billede weeelo Nybegynder
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
Avatar billede weeelo Nybegynder
05. februar 2009 - 22:20 #2
Men ellers ville det da være rart at vide hvilken linie fejlen er i.
Avatar billede orkiderejser Novice
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&oslash;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&oslash;gte p&aring;: &quot; $var &quot;</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 &nbsp; $prisindh &nbsp;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>&nbsp;</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>";
}
?>
Avatar billede orkiderejser Novice
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
Avatar billede orkiderejser Novice
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
Avatar billede orkiderejser Novice
11. februar 2009 - 12:04 #6
rettelse ;-
men, som jeg finder på nettet vises fejlen bare ikke. Problemet skulle dog stadig være der??
Avatar billede orkiderejser Novice
09. maj 2009 - 08:05 #7
weeelo Lægger du et svar.
Så deler vi point.

Jan
Avatar billede orkiderejser Novice
07. september 2009 - 08:33 #8
Jan
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester