Resultat d'une requete different sous phpMyAdmin.

Petit nouveau ! | 3 Messages

15 mars 2013, 16:01

Bonjour,

Je suis vraiment débutant dans ce langage d'anglo-saxons qu'est le Php.

Mon problème est le suivant:
J'ai dû remplir 11 enregistrements dans phpMyAdmin. L'ID est un auto-incrémenté.

En cherchant sur le net, je trouve une fonction last_id() ! Non fonctionnel. Puis j'essaie bêtement max(ID), la requête est la suivante sous phpMyAdmin:
Select max(ID) From materiels
(materiels est le nom de la table).

Cela me retourne 11, tel qu'attendu.

Seulement, quand je transpose en Php:
$sql = "SELECT max(ID) FROM materiels";
    
    $resultat = mysql_query($sql, $connect) or die('Erreur durant l\'execution de la requete');
    $nombre = ($resultat);
    
    print $nombre;
    
    $nombre = $nombre + 1;

    print 'L\'ID du nouvel article est: '.$nombre;
(Ne cherchez pas à comprendre pour $nombre=$resultat; j'aime bien que certaines choses restent à leur place.)
Ca m'affiche:
Resource id #4L'ID du nouvel article est: 5

J'incrémenterai en effet l'ID pour pouvoir ajouter un enregistrement par Php.

Mais je ne comprends pas pourquoi j'ai 11 (juste) avec du SQL, puis 4 (en fait Ressource id #4) avec le PHP ?

D'avance merci pour votre aide.

Pitet
Invité n'ayant pas de compte PHPfrance

15 mars 2013, 16:20

Salut,

Premièrement, la fonction mysql_query retourne un jeu de résultat (ressource) que tu dois parcourir avec d'autres fonctions php.
Dans ton cas le plus adapté est d'utiliser mysql_result comme ceci :

Code : Tout sélectionner

$nombre = mysql_result($resultat, 0);
Je te conseil de lire la doc pour mieux comprendre :
http://php.net/manual/fr/function.mysql-query.php
http://www.php.net/manual/fr/function.mysql-result.php

Deuxièmement si ton champs id est en auto_increment, tu n'as pas besoin de préciser le numéro id pour ajouter un nouvel enregistrement. MySQL va automatiquement incrémenter l'id :)

http://dev.mysql.com/doc/refman/5.0/fr/ ... ement.html

Bon courage

Petit nouveau ! | 3 Messages

21 mars 2013, 12:48

Merci beaucoup Pitet,

Je vais essayer d'appliquer ces connaissance. La voie de l'incrément automatique me paraît sage.

À plus tard, je pense; bonne journée !

Petit nouveau ! | 3 Messages

21 mars 2013, 12:54

Même la méthode manuelle marche ! C'est trop de la balle !

Merci Pitet !