Tengo un pequeño problema al ejecutar una consulta de selección en una base de datos. Algunos de los datos se mantiene como una lista de valores separados por comas, un ejemplo:Ejecutando una selección en una lista de valores separados por comas en PHP
Table: example_tbl
| Id | People | Children |
| 1 | 1,2,3 | 8,10,3 |
| 2 | 7,6,12 | 18,19,2 |
Y un ejemplo del tipo de cosas que estoy tratando de ejecutar:
<?php
include 'class.php';
$selection = 1;
$db = new DbClass;
$tbl_name = 'example_tbl';
$sql = "SELECT * FROM $tbl_name WHERE ".$selection." IN People";
$result = $db->query($sql);
$print_r($result);
?>
El script anterior debe devuelve la fila 1 después de encontrar un '1' en la columna Personas, pero claramente lo he desordenado.
El problema que tengo es que creo que tengo la instrucción IN al revés, es decir, CREO que este método sería seleccionar valores si $ selection fuera una lista separada por comas, en lugar de la forma en que estoy intentando para usarlo
No sé si es demasiado importante sobre lo que estoy enviando y recibiendo de la clase de db anterior, pero si quería saber, es solo un script simple que ejecuta todos los bits relevantes y devuelve una matriz del resultado . en este momento no está devolviendo nada porque no está buscando un partido
Gracias de antemano por cualquier cosa que pueda decirme.
Saludos -Dave
Por desgracia, no es mi base de datos, que estoy haciendo un trabajo para una empresa en un sitio web muy anticuado. Pero Saludos, Eso funcionó como un encanto. Y terriblemente rápido también;) –
Si es una base de datos heredada, entonces estrangula el diseñador de base de datos original para mí :) –
En realidad, todavía está trabajando allí, pero está a punto de jubilarse y no creo que le dé ni un solo pitido. ¡Pero lo estrangularé de todos modos! –