En este grupo En todos

Foro de PHP



Fallo sintaxis en consulta sql desde php hacia SQL-SERVER.

Raul
Madrid, España
Escrito por Raul González Álvarez
el 30/04/2010

Hola Joan, muy buenos dias.

Mi problemas es el siguiente; tengo una consulta sql que quiero ejecutar desde un script de php.

La consulta se lanza contra sqlServer; la conexion se hace ok pero, cuando ejecuto la consulta me
esta dando fallo de sintaxis por culpa de una "ñ" que necesito poner porque hay un campo en la base de datos que se llama "Año_plan" y lo necesito usar; sé que al capullo que lo llamo así es para matarlo pero es lo que hay.

También me da fallo por los signos de distinto '<>'. Sé por que da fallo porque si quito la condicion del campo Año_plan y sustituyo '<>' por "not like" me funciona pero no me vale.

Es curioso porque la consulta, si la ejecuto desde el propio analizador de consultas de SqlServer, se resuelve sin problemas a pesar del caracter 'ñ' pero ya digo, cuando la lanzo desde el script php me da fallo de sintaxis.


En el navegador me sale lo siguiente:


Warning: mssql_query() [ function. Mssql-query ]: message: Sintaxis incorrecta cerca de '+'. (severity 15) in C:\Archivos de programa\Apache Group\Apache2\htdocs\workspaceMoodle\ProyectoMoodle\ponencias\ListadoPonencias. Php on line 50

Warning
: mssql_query() [ function. Mssql-query ]: message: Sintaxis incorrecta cerca de la palabra clave 'group'. (severity 15) in C:\Archivos de programa\Apache Group\Apache2\htdocs\workspaceMoodle\ProyectoMoodle\ponencias\ListadoPonencias. Php on line 50

Warning: mssql_query() [ function. Mssql-query ]: Query failed in C:\Archivos de programa\Apache Group\Apache2\htdocs\workspaceMoodle\ProyectoMoodle\ponencias\ListadoPonencias. Php on line 50

La consulta es la siguiente:

select convert(varchar(10), ponencias_curso. Id_curso) +'_'+ convert(varchar(10), ponencias_curso. Id_ponencia), ponencias_curso. Ds_ponencia
from ponencias_curso, ponentes_curso, cursos, plan_formacion, rel_grupo_plan
where ponentes_curso. Id_curso = ponencias_curso. Id_curso
and ponentes_curso. Id_ponencia = ponencias_curso. Id_ponencia
and cursos. Id_curso in (select id_curso from rel_curso_carrera where id_carrera = 2 and checkeado=1)
and rel_grupo_plan. Id_grupo_plan = cursos. Id_grupo_plan
and rel_grupo_plan. Id_plan = plan_formacion. Id_plan
and plan_formacion. Año_plan = 2010
and cursos. Id_curso = ponentes_curso. Id_curso
and cursos. Id_curso = ponencias_curso. Id_curso
and rtrim(ltrim(ponencias_curso. Ds_ponencia)) <> '.'
and rtrim(ltrim(ponencias_curso. Ds_ponencia)) <> '..'
and rtrim(ltrim(ponencias_curso. Ds_ponencia)) <> '...'
and rtrim(ltrim(ponencias_curso. Ds_ponencia)) <> '....'
and rtrim(ltrim(ponencias_curso. Ds_ponencia)) <> '.....'
and cursos. Id_curso in (select left(id_relacion, charindex('_',ltrim(rtrim(id_relacion)))-1 ) from sag_ruta_archivos_descargables)
group by ponencias_curso. Id_curso, ponencias_curso. Id_ponencia, ponencias_curso. Ds_ponencia




Podrías orientarme en algo, necesito ver la luz.

Un saludo compadre, muchisimas gracias por leerme y para lo que quieras.

German Infogchu
Experto: maquetación html
Escrito por German Infogchu
el 07/10/2010

La verdad que la sintaxis de la consulta esta para la mierda, aparte esta inentendible, otra cosa, la linea 50 que la que aparece en el informe de error no la expusiste, osea hay 23 lineas de codigo, yo propongo que expongas todas las lineas del codigo, para encontrarle el problema.