8710 sujets

Développement web côté serveur, CMS

Bonjour, j'ai lu que mysql_* devenait obsolète, je m'empresse donc de modifier toutes les pages de mon site qui font appel à cette fonction. Cependant je bloque sur l'utilisation de Mysqli_result.

Je dois transformer ce code :

$last_id="select max(id) from matable where (TIMESTAMPDIFF(MONTH, expo_le, NOW()) < 6) and  visible='oui'";
$res_last_id=mysql_query($last_id); 
$idmaxlast_id=mysql_result($res_last_id,0,"max(id)");


pour le rendre mysqli "friendly".
Je n'y arrive pas ! J'ai testé pas mal de configuration, sans succès. Y-a t'il quelqu'un qui puisse m'aiguiller sur ce problème ?

Merci d'avance.
Le premier paramètre de mysqli_result doit être le lien mysql renvoyé par la fonction mysqli_connect.

Sans ton code complet impossible de te dire quelle variable utiliser.
Edit : non attend je t'ai dit une grosse connerie. Je regardais ta première fonction mysql_query().
Modifié par jb_gfx (27 Jun 2013 - 17:53)
Bon j'ai fait un test vite fait, ça doit être ce que tu cherches à faire :


<?php

$db = array(
  'name' => 'ma_db',
  'host' => 'localhost',
  'user' => 'root',
  'password' => '',
);

$link = mysqli_connect($db['host'], $db['user'], $db['password'], $db['name']);

$sql = "
  SELECT MAX(user_id) AS id 
  FROM us 
  WHERE (TIMESTAMPDIFF(MONTH, expo_le, NOW()) < 6) 
  AND visible = 'oui'";

$res = mysqli_query($link, $sql);
$data = mysqli_fetch_object($res);

echo $data->id;

Modifié par jb_gfx (27 Jun 2013 - 18:23)
Oui c'est bien ça, je recupère l'id du dernier enregistrement, merci, je poursuis...
Modifié par pareto (27 Jun 2013 - 18:47)
Et pour éviter de mélanger orienté objet et procédural :
$data = mysqli_fetch_assoc($res);

echo $data['id'];


Smiley cligne