2010-02-23 13 views
6

Tengo una consulta de mysql en php, usando match/against para filtrar los resultados. Estoy tratando de obtener un comodín después de $ string para que el próximo personaje pueda ser cualquier cosa. ¿Ayuda?consulta de mysql contra comodín

"SELECT * FROM $table WHERE MATCH (message) AGAINST('$string%' IN BOOLEAN MODE)" 

Respuesta

6

Uso * en lugar de % como comodín cuando se utiliza MATCH (...) AGAINST (...):

"SELECT * FROM $table WHERE MATCH (message) AGAINST('$string*' IN BOOLEAN MODE)" 
2

no incrusta las variables en cadenas entre comillas dobles y listo:

"SELECT * FROM " . $table . " WHERE MATCH (message) AGAINST ('" . $string . "%' IN BOOLEAN MODE)" 

Dicho esto, no puedo confirmar esto es SQL válida. Pero al menos se asegurará de que su variable se expanda adecuadamente y si no funciona, entonces no será por PHP.

Y en caso de que este recordatorio sea útil, nunca olvides escape data that goes into a query.

Cuestiones relacionadas