como relacionar el usuario loqueado con la imagen que a subido

hola a todos alguien puede ayudarme en como relacionar el usuario loqueado con la imagen que a subido
tengo una tabla de usuarios y otra de imagenes que fuccionan bien esta en tipo innodb
el formulario de subida de imagenes lo tengo en perfil.php(pagina privada de usuarios), si suban las imagens bien
y el usuario tene que ser loqueado para entrar a su perfil y subir imagens ,
me pregunta como relaciono las imagenes subidas con el usuario que la subido.
estas son mis tablas


CREATE TABLE IF NOT EXISTS `usuarios` (
`usuario_id` int(4) NOT NULL AUTO_INCREMENT,
`usuario_nombre` varchar(15) NOT NULL DEFAULT '',
`usuario_clave` varchar(32) NOT NULL DEFAULT '',
`usuario_email` varchar(50) NOT NULL DEFAULT '',
`usuario_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`tipo` enum('2','1') NOT NULL DEFAULT '2',
`facebook` varchar(250) NOT NULL,
`twitter` varchar(250) NOT NULL,
`avatar` varchar(500) NOT NULL,
PRIMARY KEY (`usuario_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ;


CREATE TABLE IF NOT EXISTS `datos` (
`usuario_id` int(11) NOT NULL AUTO_INCREMENT,
`ruta` varchar(100) NOT NULL,
`descripcion` text,
PRIMARY KEY (`usuario_id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ;
Hola!

Primero que nada, la tabla datos, si bien funciona, no está bien hecha. La forma correcta debería ser esta:

CREATE TABLE IF NOT EXISTS `datos` (
`dato_id` int(11) NOT NULL AUTO_INCREMENT,
`ruta` varchar(100) NOT NULL,
`descripcion` text,
  usuario_id INT(11) NOT NULL,
  PRIMARY KEY (`dato_id`),
  INDEX usuario_index (usuario_id),
  FOREIGN KEY (usuario_id) REFERENCES usuarios (usuario_id)
    ON UPDATE CASCADE
    ON DELETE CASCADE
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1;

Esto impide que hayan valores nulos en la tabla datos y mejora el rendimiento (algo que casi no se nota).

me pregunto como relaciono las imágenes subidas con el usuario que la subido.

Con una consulta SQL usando JOIN:

SELECT * FROM usuarios INNER JOIN datos ON usuarios.usuario_id = datos.usuario_id WHERE usuarios.usuario_id = N

Donde N es el id del usuario que quieres relacionar. Puedes cambiarlo por WHERE usuarios.usuario_nombre = $nombre_usuario o cualquier otra forma de identificarlo.

Saludos!

PD: ¿por qué la tabla datos no se llama imagenes_usuario, que es más lógico? Siempre deberías llamar las tablas de manera lógica, puesto que así todos podrán entender lo que significan :).
hola y gracias
me sale esta frase
no se puede subir la imagen
Hmm, pero en que parte del código aparece esa frase, porque en el código que muestras no aparece. ¿Hay más código involucrado? Necesitas mostrar todo el código que utilizas.
perdona por las molestias y gracias la frase es esta

<?php
/* print_r($_FILES);
echo'<br>';
echo 'nombre de la imagen: ';
print_r($_FILES['imagen']['name']);

echo'<br>';
echo 'tipo de la imagen: ';
print_r($_FILES['imagen']['type']);

echo'<br>';
echo 'ruta temporal de la imagen: ';
print_r($_FILES['imagen']['tmp_name']);
*/
$conexion=mysql_connect('localhost','root','777777 7') or die('No hay conexión a la base de datos');
$db=mysql_select_db('mourad',$conexion)or die('no existe la base de datos.');

$rutaEnServidor='imagenes';
$rutaTemporal=$_FILES['imagen']['tmp_name'];
$nombreImagen=$_FILES['imagen']['name'];
$rutaDestino=$rutaEnServidor.'/'.$nombreImagen;
move_uploaded_file($rutaTemporal,$rutaDestino);

$desc=$_POST['descripcion'];

$sql="INSERT INTO datos (ruta,descripcion) values('".$rutaDestino."','".$desc."')";
$res=mysql_query($sql,$conexion);

if ($res){
echo 'inserción con exito';
}else{
echo 'no se puedo insertar';
}

?>
Aaah! Ahora todo tiene sentido! Jejeje. No me di cuenta antes, pero el problema es que con mi solución debes insertar el id del usuario al ingresar una nueva imagen, por lo que lo correcto debería ser:

<?php 
/* print_r($_FILES);
echo'<br>';
echo 'nombre de la imagen: ';
print_r($_FILES['imagen']['name']);

echo'<br>';
echo 'tipo de la imagen: ';
print_r($_FILES['imagen']['type']);

echo'<br>';
echo 'ruta temporal de la imagen: ';
print_r($_FILES['imagen']['tmp_name']);
*/
$conexion=mysql_connect('localhost','root','777777 7') or die('No hay conexión a la base de datos');
$db=mysql_select_db('mourad',$conexion)or die('no existe la base de datos.');

$rutaEnServidor='imagenes';
$rutaTemporal=$_FILES['imagen']['tmp_name'];
$nombreImagen=$_FILES['imagen']['name'];
$rutaDestino=$rutaEnServidor.'/'.$nombreImagen;
move_uploaded_file($rutaTemporal,$rutaDestino);

$desc=$_POST['descripcion'];

$sql = "SELECT usuario_id FROM usuarios WHERE usuario_nombre = '[COLOR="#FF0000"]INSERTAR NOMBRE USUARIO[/COLOR]'";
$res = mysql_query( $sql, $conexion );

if( $res ) {
  // Deberías validar que sólo se haya extraído una fila
  $id = mysql_fetch_assoc( $res )['usuario_id'];
  mysql_free_result( $res );
  // Esto es lo correcto:
[COLOR="#FF0000"]  $sql="INSERT INTO datos (ruta, descripcion, usuario_id) VALUES ('$rutaDestino','$desc', $id)"; [/COLOR]
  $res=mysql_query($sql,$conexion);

  if ($res){
    echo 'inserción con exito';
  } else {
    echo 'no se puedo insertar';
  }
} else {
  echo "<p>El usuario no existe</p>";
}

mysql_close( $conexion );
?>

De alguna manera debes extraer el id del usuario para insertarlo en el nuevo registro. En el código anterior deberías modificar donde dice INSERTAR NOMBRE USUARIO por algo como $_SESSION['nombre_usuario'] u otra forma (como sea que funciona tu sistema de sesiones).

Espero que te sirva, saludos!