Gracias a todos por vuestros comentarios, las sugerencias que me habéis hecho también eran válidas, sólo que en este caso el error concreto estaba en haber usado el
operador de asignación "
=" en lugar del
operador de comparación "
==", como bien me ha indicado GatorV.
Como se ve en el ejemplo que he puesto, pretendía ahorrar código estableciendo una especie de "interruptor" para ser usado en diferentes bloques de código PHP intercalados con código XHTML.
El formulario se ejecuta tanto desde la misma página como desde otras páginas, debido a que es un buscador interno.
También me surge otra duda...
En el siguiente fragmento de código, asigno como valor a la variable $palabra la cadena de texto contenida en el campo "palabra" y previamente escapada por la función addslashes(). Se trata de que si alguien busca un nombre como "O'reilly", el carácter comilla simple sea escapado.
Sin embargo en php.net se dice lo siguiente:
Cita: Es muy recomendado usar la función de escape de la misma base de datos, por ejemplo mysqli_real_escape_string() para MySQL...
Entonces,
¿convendría usar mysqli_real_escape_string en lugar de addslashes?