Error en PHP Column in where clause is ambiguous
Error en PHP Column in where clause is ambiguous. Cuando se trabaja con lenguajes de programación como por ejemplo PHP que extraen datos de bases de datos, ocasionalmente puede ejecutar diferentes tipos de errores. Muchos de ellos son fáciles de solucionar, específicamente si está codificando sus propias consultas SQL .Como Corregir la Columna «catID» en donde la cláusula es ambigua’ error.
El error se produce cuando.
Este tipo de error se produce cuando una consulta de base de datos está trabajando con más de una tabla. En nuestro ejemplo a continuación usaremos dos tablas dentro de un programa de sistema web de venta de productos y la consulta con este error es la siguiente:
SELECT * FROM tabla_productos LEFT JOIN tabla_categoria ON tabla_productos.catID = tabla_categoria.catID WHERE code= 'var1' AND catID = 'var2' AND estado= 'var3'
Esta consulta realizada líneas arriba da un error diciendo: Columna: ‘catID’ en la cláusula where es ambigua. Veremos cómo se debería escribir este código para filtrarlo por las variables de conjunto y aun así unirse a la tabla de categorías para obtener el nombre de la categoría.
Error en PHP Column in where clause is ambiguous
Como corregir este error.
Para solucionar esto, simplemente hay que agregar el nombre de tabla o el alias de la tabla con la que desea trabajar. Veamos la solución. En nuestro ejemplo, debemos agregar el nombre de la tabla a la consulta.
Ejemplo.
WHERE code= 'var1' AND catID = 'var2' AND estado= 'var3'
Cambiar por esto.
WHERE tabla_productos.code='var1' AND tabla_categoria.catID='var2' AND tabla_productos.estado='var3'
Con esto podemos dar solución a nuestros problemas. Si está trabajando con sistemas de gestión de contenidos (código abierto o comprado), deberás informarles del error. Ellos serán capaces de dar solución al problema en su próxima versión.
Fuente: Where clause is ambiguous