Estoy tratando de exportar la base de datos de los registros de la tabla a través de «SELECT INTO OUTFILE».
Todo funciona. Pero necesito filtrar los registros y este es el problema.
Aquí está el código:

SELECT * INTO OUTFILE 'file.txt' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
FROM table_name WHERE name LIKE '%John%' AND LENGTH(name) <= 10 ORDER BY name

Esta declaración no funciona, pero si puedo quitar el «nombre LIKE ‘%Juan%'» condición, funciona.
Pero debo especificar esta condición, ¿cómo puedo lograrlo?

Gracias.

  • ¿Qué quieres decir con «esta declaración no funciona»? Lo que sucede? Qué resultados, o el error, qué se obtiene? ¿Qué se puede esperar?
  • Realizo esta consulta a través de la WordPress WPDB clase. No devuelve nada. Debo esperar para recibir el archivo.
  • Y si se ejecuta la consulta sin la INTO OUTFILE cláusula? Están allí, en realidad, todos los registros que cumplan los criterios WHERE name LIKE '%John%' AND LENGTH(name) <= 10? Por favor, mostrar un ejemplo.
  • He tratado de ejecutar la consulta a través de mysql_query y funciona.
  • Por favor, mostrar un ejemplo.
  • $result = mysql_query("SELECT * INTO OUTFILE '".TMPDIR."export.txt' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' from wp_domrail where 1=1 and domain_name LIKE '%asia%' and LENGTH(domain_name) <= 10 ORDER BY domain_name");
  • Y usted está diciendo que esa consulta funciona? Si es así, ¿cuál es el problema? Estoy confundido.
  • He eliminado el $wpdb->prepare método dentro de $wpdb->query método y ahora funciona. Gracias.

InformationsquelleAutor Dima Knivets | 2012-10-17

1 Comentario

  1. 3

    Podría ser un problema con el %signo. Trate de reemplazar

    WHERE name LIKE '%John%'

    con

    WHERE LOCATE(name, 'John') > 0
    • ¿Cuál podría ser el problema con el % signo?
    • He leído en un hilo que sobre WPDB: However, when I try to use it to add a row where one cell contains the percent sign ("%"), nothing happens.
    • La respuesta fue: prepare() expects a sprintf() format string, in which the % is used to prefix placeholder types. You can use a literal % by prepending it with another %: %%.
    • La Aha. Muy bueno saber! +1

Dejar respuesta

Please enter your comment!
Please enter your name here