Emil WMedlem sedan mars 2009512 inlägg Hej alla har problem med min sök funktion
så ser sql_query ut
SELECT rubrik FROM *************** WHERE rubrik LIKE '%'
jag får detta fel meddelande
Notice: Undefined variable: sok in C:\wamp\www\emilsbilcommunity\sokkolla.php on line 11
<?php
//Gjord av Emil Wiklund
$con = @mysql_connect("*********","*********","***********");
if(!$con)
{
die('Databasfel' . mysql_error());
}
mysql_select_db("**************", $con);
$result = mysql_query("SELECT ********** FROM ******* WHERE rubrik LIKE '%$sok%'") or die (mysql_error());
$sok = $_GET['sok'];
while($row = mysql_fetch_array($result))
{
echo $row['rubrik'];
}
mysql_close($con);
?>
Här är formuläret
<form method="get" action="sokkolla.php">
<input type="text" name="sok"> <input type="submit" name="skicka" value="Sök">
</form>
Du tilldelar variabeln $sok efter att du försöker anropa databasen...
Sen en allmän kommentar, du bör alltid escape'a indata som ska användas i ett databas-anrop! (Om du inte vill att någon ska komma åt att tömma databasen eller hitta på något annat lurt.)
$sok = mysql_real_escape_string($_GET['sok']);
$result = mysql_query("SELECT ********** FROM ******* WHERE rubrik LIKE '%$sok%'") or die (mysql_error());
Emil WMedlem sedan mars 2009512 inlägg Jag får fortfarande fel
Notice: Undefined variable: sok in C:\wamp\www\emilsbilcommunity\sokkolla.php on line 11
SELECT rubrik FROM ************* WHERE rubrik LIKE '%%'
Har du fyllt i något i rutan? Pröva att skriva ut $sok och $_GET['sok'] med echo och se vad som händer.
Emil WMedlem sedan mars 2009512 inlägg Han skriver ut det man skrivit i fältet
Prova
$result = mysql_query("SELECT ********** FROM ******* WHERE rubrik LIKE '%".$sok,"%'") or die (mysql_error());
Om det inte funkar, posta hela koden som den ser ut då.
Emil WMedlem sedan mars 2009512 inlägg Jag får dessa fel meddelanden
Notice: Undefined variable: sok in C:\wamp\www\emilsbilcommunity\sokkolla.php on line 11
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\emilsbilcommunity\sokkolla.php on line 11
<?php
//Gjord av Emil Wiklund
$con = @mysql_connect("*********","********","***********");
if(!$con)
{
die('Databasfel' . mysql_error());
}
mysql_select_db("***********", $con);
$result = mysql_query("SELECT rubrik FROM sokrecept WHERE rubrik LIKE '%".$sok,"%'") or die (mysql_error());
$sok = mysql_real_escape_string($_GET['sok']);
while($row = mysql_fetch_array($result))
{
echo $row['sok'];
}
mysql_close($con);
?>
Meeen... Du har ju fortfarande "$sok = ..." på raden under mysql_query. Flytta upp den raden så att den hamnar ovanför mysql_query-raden! Du försöker använda variabeln innan du har skapat den.
Emil WMedlem sedan mars 2009512 inlägg Nu funkar den men hur gör jag så att den kollar typ att man måste skriva pannkakor för att den ska hitta så att han inte hittar om man skriver p
The_HulkMedlem sedan juni 20031 837 inlägg vill du bara hitta exakt det man söker på?
$result = mysql_query("SELECT rubrik FROM sokrecept WHERE rubrik ='."$sok,"'") or die (mysql_error());
Eller vi du bara hitta hela ord i rubriken?
I så fall kanske det är bäst att skapa en index-tabell för sökningen då du splittar upp rubriken i hela ord och sparar varje ord som en egen post.
Så har de i alla fall gjort i phpbb.