Código PHP:
function datos($conexion, $consulta, $datos, $informacion, $contar_registros, $mostrar_datos, $mostrar_datos_numero){
// Create connection
require($_SERVER['DOCUMENT_ROOT'].$conexion);
$SQL_datos_conexion = new mysqli($db_host, $db_user, $db_pass, $db_name);
$stmt = $SQL_datos_conexion->prepare($consulta);
$numero_datos = count($datos);
if($numero_datos>=2){
//Saber si es string o numerico(int)
$type = '';
foreach ($datos as $value) {
$type .= is_numeric($value) ? 'i' : 's';
}
if($numero_datos==2){
$stmt->bind_param($type, $datos[0], $datos[1]);
}elseif($numero_datos==3){
$stmt->bind_param($type, $datos[0], $datos[1], $datos[2]);
}elseif($numero_datos==6){
$stmt->bind_param($type, $datos[0], $datos[1], $datos[2], $datos[3], $datos[4], $datos[5]);
}elseif($numero_datos==8){
$stmt->bind_param($type, $datos[0], $datos[1], $datos[2], $datos[3], $datos[4], $datos[5], $datos[6], $datos[7]);
}elseif($numero_datos==10){
$stmt->bind_param($type, $datos[0], $datos[1], $datos[2], $datos[3], $datos[4], $datos[5], $datos[6], $datos[7], $datos[8], $datos[9]);
}elseif($numero_datos==12){
$stmt->bind_param($type, $datos[0], $datos[1], $datos[2], $datos[3], $datos[4], $datos[5], $datos[6], $datos[7], $datos[8], $datos[9], $datos[10], $datos[11]);
}elseif($numero_datos==13){
$stmt->bind_param($type, $datos[0], $datos[1], $datos[2], $datos[3], $datos[4], $datos[5], $datos[6], $datos[7], $datos[8], $datos[9], $datos[10], $datos[11], $datos[12]);
}elseif($numero_datos==14){
$stmt->bind_param($type, $datos[0], $datos[1], $datos[2], $datos[3], $datos[4], $datos[5], $datos[6], $datos[7], $datos[8], $datos[9], $datos[10], $datos[11], $datos[12], $datos[13]);
}
}elseif($numero_datos==1){
$stmt->bind_param('s', $datos);
}
$stmt->execute();
//Array para retornar informacion
$valores_retorno=array();
//Numero de celdas afectadas e ID del registro en caso de que sea un insert into el numero de celdas afectadas tambien funciona en el update
if($informacion==true){
$n_celdas=$stmt->affected_rows;
$id_nuevo_registro=$stmt->insert_id;
array_push($valores_retorno, $n_celdas, $id_nuevo_registro);
}
//Contar registros, funciona en select
if($contar_registros==true){
$stmt->store_result();
$numero_registros=$stmt->num_rows;
array_push($valores_retorno, $numero_registros);
}
//Mostrar los datos modificados (update)
if($mostrar_datos==true){
//$stmt->store_result();
//$num_of_rows = $stmt->num_rows;
if($mostrar_datos_numero==1){
$stmt->bind_result($mostrar_info);
}elseif($mostrar_datos_numero==2){
$stmt->bind_result($mostrar_info[0], $mostrar_info[1]);
}elseif($mostrar_datos_numero==5){
$stmt->bind_result($mostrar_info[0], $mostrar_info[1], $mostrar_info[2], $mostrar_info[3], $mostrar_info[4]);
}elseif($mostrar_datos_numero==7){
$stmt->bind_result($mostrar_info[0], $mostrar_info[1], $mostrar_info[2], $mostrar_info[3], $mostrar_info[4], $mostrar_info[5], $mostrar_info[6]);
}
while ($stmt->fetch()) {
if(!is_array($mostrar_info)){
array_push($valores_retorno, $mostrar_info);
}else{
for ($i=0; $i<$mostrar_datos_numero; $i++) {
array_push($valores_retorno, $mostrar_info[$i]);
}
}
}
$stmt->free_result();
}
//Si no hay valoresa retornar eliminar la variable
if(empty($valores_retorno)){
unset($valores_retorno);
}else{
return $valores_retorno;
}
$stmt->close();
$SQL_datos_conexion->close();
}
Código:
El problema es que solo me muestra las ciudades del usuario que tiene el ID 3SELECT `ciudades` FROM `tabla` WHERE `id_user` IN(3,5,9)
Gracias