Archivos de Categoría: Pajas mentales - Paginas 3

Recuperar contenido de URL externa a pesar de los caracteres

La incidencia de hoy ha sido que tenía que recuperar un Json de un servidor externo, pasándole parámetros por  URL, el problema esta en que esos parámetros pueden llevar acentos, espacios, etc por lo que toca codificar la URL a llamar si no queremos que falle. En un principio pensaba que se podría hacer con un urlencode() pero no, la codificación hay que hacerla con rawurlencode()

$parametros = array(
'ID'=> (isset($_POST['ID']))?$_POST['ID']:'None',
'TEXT'=>rawurlencode($_POST['consulta'])
);

$ruta = URL_BASE.  'for_services.svc/add/' . implode('/', $parametros);
$resultado = file_get_contents($ruta);
var_dump($resultado);

Listar campos de una tabla de MySQL

Estoy dándole vueltas a montar un CRUD sencillito para facilitarme los back office que hago. Viendo opciones de cómo hacerlo, me he encontrado con una cláusula de MySQL que permite devolver los campos de una tabla con sus propiedades, algo que me vendrá bastante bien para este proyecto.


-- Si queremos sacar la estructura de la tabla 
describe tabla;

-- Y si queremos sacar la información de un campo en concreto 
describe tabla campo;

En breve me iré de vacaciones y seguramente le eche unas horas a este proyecto, a ver qué tal queda. Ya iré informando

Variable tipo table en un procedimiento llamado desde PHP

En el proyecto que estoy montando actualmente, por requisitos del cliente, estamos usando PHP contra SQL server. La historia es que lleva algún procedimiento medio enrevesado y uno de ellos devuelve el recorset de una variable tipo tabla.

Hasta ahora, al llamar procedimientos que devuelven resultados de tablas sí que devolvían registros pero al intentarlo de una variable tipo tabla, no devolvía nada mientras que ejecutándolo desde el cliente de SQL sí que lo hacía.

Después de un rato googleando, resulta que la solución es bastante sencilla, basta con poner un SET NOCOUNT ON al principio del procedimiento. Es una chorrada pero hace perder un rato precioso hasta que te das cuenta.