Gå til innhold

Trenger hjelp til "No Record Found" error


Anbefalte innlegg

Hei!

 

har nå laget meg en database i phpmyadmin, samt et search.htm fil og en results.php

script

 

nå jeg trykker søk så får jeg følgende error:

No Record Found, to search again please close this window

 

her er php koden til results.php til fila:

 

<center>

<table border="1" cellpadding="5" cellspacing="0" bordercolor="#000000">

<tr>

<td width="60"><b>id</b></td>

<td width="100"><b>title</b></td>

<td width="70"><b>year</b></td>

<td width="150"><b>country</b></td>

</tr>

<tr>

<td>

<? $dbh=mysql_connect ("localhost", "johnivar", "Password") or die ('I cannot connect to the database because: ' . mysql_error());

mysql_select_db ("johnivar_test");

 

?>

<?

//error message (not found message)begins

$XX = "No Record Found, to search again please close this window";

//query details table begins

$query = mysql_query("SELECT * FROM details WHERE $metode LIKE '%$search%' LIMIT 0, 50");

while ($row = @mysql_fetch_array($query))

{

$variable1=$row["ID"];

$variable2=$row["Year"];

$variable3=$row["Title"];

$variable4=$row["Country"];

//table layout for results

 

print ("<tr>");

print ("<td>$variable1</td>");

print ("<td>$variable2</td>");

print ("<td>$variable3</td>");

print ("<td>$variable4</td>");

print ("</tr>");

}

//below this is the function for no record!!

if (!$variable1)

{

print ("$XX");

}

//end

?>

</table>

</center>

 

 

ser dere noe feil her ?

 

Ps! her er url til sida : http://www.hifiman.i4host.net/search.htm

 

og en screenshot til phpmyadmin tabellen min http://home.no.net/hifiman/php.bmp

 

er veldig usikker på om dette passer under databaser eller php

 

Takk for all hjelp !!

Lenke til kommentar
Videoannonse
Annonse

Har du testa spoerringen i MySQL?

 

Proev aa legg inn

echo "method: ".$method"<br>";

echo "search: ".$search."<br>";

 

foer

 

//query details table begins

$query = mysql_query("SELECT * FROM details WHERE $metode LIKE '%$search%' LIMIT 0, 50");

 

saa kan du se om disse stringene i det hele tatt inneholder noe data.

Endret av ofredstie
Lenke til kommentar
Har nå prøvd det du sa og denne finner alle poster i tabellen,

 

http://hifiman.i4host.net/test.php

 

hvordan skal jeg få dette til funke på  results.php fila ??

5977035[/snapback]

 

Men la du inn

echo "method: ".$method"<br>";
echo "search: ".$search."<br>";

i results.php?

 

For ett problem kan jo vaere at det du taster inn i soekefeltet ikke

blir sendt over til results.php.

Lenke til kommentar
Har nå prøvd det du sa og denne finner alle poster i tabellen,

 

http://hifiman.i4host.net/test.php

 

hvordan skal jeg få dette til funke på  results.php fila ??

5977035[/snapback]

 

Men la du inn

echo "method: ".$method"<br>";
echo "search: ".$search."<br>";

i results.php?

 

For ett problem kan jo vaere at det du taster inn i soekefeltet ikke

blir sendt over til results.php.

5977118[/snapback]

 

Kunne du skrevet hele koden til results.php , så jeg får den riktig...

 

takk takk

hifiman

Lenke til kommentar

<center>
<table border="1" cellpadding="5" cellspacing="0" bordercolor="#000000">
<tr>
<td width="60"><b>id</b></td>
<td width="100"><b>title</b></td>
<td width="70"><b>year</b></td>
<td width="150"><b>country</b></td>
</tr>
<tr>
<td>
<? $dbh=mysql_connect ("localhost", "johnivar", "Password") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("johnivar_test");

?>
<?
//error message (not found message)begins
$XX = "No Record Found, to search again please close this window";
//query details table begins
$query = mysql_query("SELECT * FROM details WHERE $metode LIKE '%$search%' LIMIT 0, 50");
while ($row = @mysql_fetch_array($query))
{
$variable1=$row["ID"];
$variable2=$row["Year"];
$variable3=$row["Title"];
$variable4=$row["Country"];
//table layout for results

print ("<tr>");
print ("<td>$variable1</td>");
print ("<td>$variable2</td>");
print ("<td>$variable3</td>");
print ("<td>$variable4</td>");
print ("</tr>");
}
//below this is the function for no record!!
if (!$variable1)
{
print ("$XX");
}
//end
?>
</table>
</center>

<?
echo "method: ".$method"<br>";
echo "search: ".$search."<br>";
?>

Lenke til kommentar
Fila di ga meg en error:

 

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /home/johnivar/public_html/results.php on line 46

 

 

http://www.hifiman.i4host.net/results.php

 

:(

5977633[/snapback]

 

Saa en liten feil, glemte ett punktum:

 

<?
echo "method: ".$method."<br>";
echo "search: ".$search."<br>";
?>

 

Du kan evnt proeve:

<?
print("method: $method <br>");
print("search: $search <br>");
?>

Endret av ofredstie
Lenke til kommentar
nå funka det , men fortsatt samme gammle error...

 

da er det vel tabellen min som ikke funker ,eller  ??

 

takk hittil for hjelpa... :thumbup:

5977881[/snapback]

Fra en som ikke har jobbet med PHP på en stund, hva gjør snabel-a'en før mysql_fetch_array? Og ikke minst, burde man ikke sjekke at spørringen går greit før man begynner å bruke $query?

 

Videre er viser du jo klart at du ikke har en kolonne som heter ID, så sjekker du på resultatet fra denne, og lurer på hvorfor det feiler? Du bør kanskje opprette id-kolonnen først?

Lenke til kommentar

Et lite copy and paste fra phpmyadmin:

-- Table structure for table `discography`

--

 

CREATE TABLE `discography` (

`ID` int(2) NOT NULL auto_increment,

`Year` varchar(4) NOT NULL default '0000',

`Title` varchar(255) NOT NULL default '',

`Country` varchar(255) NOT NULL default '',

PRIMARY KEY (`ID`)

) TYPE=MyISAM AUTO_INCREMENT=3 ;

 

--

-- Dumping data for table `discography`

--

 

INSERT INTO `discography` VALUES (1, '1976', 'High Voltage', 'Australia');

INSERT INTO `discography` VALUES (2, '1977', 'T.N.T', 'Australia');

Lenke til kommentar
Pst! Sjekk scope for variablene dine :)

 

Edit: I php-koden altså

5979498[/snapback]

 

Hva vil det si ?

 

veldig nybegynner jeg

 

gjerne skriv koden som du mener er feil...

5979508[/snapback]

PHP er et veldig svakt språk. Det vil si følgende i pseudokode:

 

hvis (sann) så (

var1 = 1;

)

print var1

 

inne i hvis blokken oppretter du en variabel, men scope til denne variabel er da begrenset til hvis-blokken. Når du så tar print var1 etterpå, så er det en ny variabel som heter det samme. Derfor feiler koden din, du oppretter variabelen inne i en blokk, og prøver å bruke den utenfor blokken senere i koden. Det du har støtt på er en av de mange svakhetene ved PHP, som gjør at mange sterkt misliker PHP (og VBScript for den slags skyld).

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...