Problema con un código

Hola chicos :)
Como es normal, ya no se ni donde vivo, y esto me esta volviendo loco.
Tengo este código:

<?php
//MySQL
$user="comocr3_user";
$pass="mierda123";
$host="localhost";
$bdd="comocr3_papa";
//Conexion
mysql_connect($host, $user, $pass);
mysql_select_db($bdd);

echo "<form action='' method='post'>";
echo "<input type='text' name='busqueda' value='Buscar por prefijo' onclick='javascript: limpia(this);' onBlur='javascript: verifica(this);'>";
?>
<script>
function limpia(elemento)
{
elemento.value = "";
}

function verifica(elemento)
{
if(elemento.value == "")
elemento.value = "Buscar por prefijo";
}
</script>
<?php
echo "<input type='submit' value='Buscar'>";
echo "</form>";
if (!$_POST['busqueda'] | $_POST['busqueda']=="Buscar por prefijo") {
echo "Esperando datos a buscar...";
}else {
$busqueda=$_POST['busqueda'];
$sql="select * from trabajo where tpref=".$busqueda."";
$resultados=mysql_query ($sql);
echo "<table>";
echo "<tr><td>Taller prefijo:<strong>".$_POST['busqueda']."</strong></td></tr>";
echo "<tr><td>Fecha</td><td>Producto</td><td>Observaciones</td></tr>";
while ($resultados = mysql_fetch_array($result)) {
echo "<tr><td>".$resultados['fecha']."</td><td>".$resultados['producto']."</td><td>".$resultados['observaciones']."</td></tr>";
}
echo "</table>";
}
?>

Lo que tiene que hacer es sacar de una bd lo que se pide en un input normalito.

Me da un error en la linea 44, que es: while ($resultados = mysql_fetch_array($result)) {

Y el error que me da es
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/comocr3/public_html/papa/index.php on line 44


Como siempre estais hay para ayudarme, os lo pido otra vez :P

Gracias a todos :) ^^
<?php 
//MySQL 
$user="comocr3_user"; 
$pass="mierda123"; 
$host="localhost"; 
$bdd="comocr3_papa"; 
//Conexion 
mysql_connect($host, $user, $pass); 
mysql_select_db($bdd); 

echo "<form action='' method='post'>"; 
echo "<input type='text' name='busqueda' value='Buscar por prefijo' onclick='javascript: limpia(this);' onBlur='javascript: verifica(this);'>"; 
?> 
<script> 
function limpia(elemento) 
{ 
elemento.value = ""; 
} 

function verifica(elemento) 
{ 
if(elemento.value == "") 
elemento.value = "Buscar por prefijo"; 
} 
</script> 
<?php 
echo "<input type='submit' value='Buscar'>"; 
echo "</form>"; 
if (! isset( $_POST['busqueda'] ) [COLOR="#FF0000"]||[/COLOR] $_POST['busqueda'] == "Buscar por prefijo") { 
echo "Esperando datos a buscar..."; 
}else { 
$busqueda=$_POST['busqueda']; 
$sql="select * from trabajo where tpref=[COLOR="#FF0000"]'[/COLOR]".$busqueda."[COLOR="#FF0000"]'[/COLOR]"; 
$result = mysql_query($sql);
echo "<table>"; 
echo "<tr><td>Taller prefijo:<strong>".$_POST['busqueda']."</strong></td></tr>"; 
echo "<tr><td>Fecha</td><td>Producto</td><td>Observaciones</td></tr>"; 
while ($resultados = mysql_fetch_array($result)) { [COLOR="#FF0000"]// ¿Dónde está $result? (ya lo modifiqué, así que debería funcionar).[/COLOR]
echo "<tr><td>".$resultados['fecha']."</td><td>".$resultados['producto']."</td><td>".$resultados['observaciones']."</td></tr>"; 
} 
echo "</table>"; 
} 
?>

Ahora debería funcionar. Te faltó crear la variable $result. Si quieres buscar algo similar, no igual, utiliza esto:

"select * from trabajo where tpref LIKE '$busqueda%'"; Si ingreso mcf en la búsqueda, entonces encontrará todo lo que comience con mcf seguido de cualquier cosa. En otras palabras, % reemplaza cualquier caracter.

Ojo, limpia la cadena de búsqueda antes de ejecutar la consulta: $busqueda = strip_tags($busqueda); o algo así :P.

Saludos :D.
para mi el error esta aqui:

el viejo:
$sql="select * from trabajo where tpref=".$busqueda."";

el nuevo:
$sql="select * from trabajo where tpref='".$busqueda."';";
Gracias a los 2 :)
He usado el código de Ska
Y dragon... Eso venia ya en el de ska :P

Gracias ^^