Vamos a ver si se entienden ahora mis observaciones. No pude antes porque estaba respondiendo desde el celular...
Código PHP:
$sql = "SELECT * FROM * WHERE status = 1 AND nombre LIKE ?";
$resultado = mysql_query($sql);
Muy bonito, pero ¿cómo supones que PHP puede llegar a saber que debe reemplazar el "?" por el contenido de "$busqueda"?
En ese contexto debe usar
mysqli_stmt_bind_param(), pero ese no se usa con la librería de acceso a datos a MySQL llamada MYSQL (la que usas), sino con la MySQLI.
Otra opción sería usar
sptintf(), pero no aplica "?", sino "%".
Código PHP:
if (@mysql_num_rows($resultado) > 0){
Ok, ¿para qué crees que sirve ese "@"?
Desde ya te lo digo:
Oculta cualquier aviso de error o warning, por lo que al ponerlo es imposible saber si dio error, y de haberlo dado tampoco se recuperan los codigos y mensajes.
NUNCA uses eso, es una
pésima práctica, propia de malos aprendices y peores profesores. Y menos que menos en etapa de
desarrollo, donde
necesitas ver los errores.
¿Se entiende?