[RESOLU] Warning: Warning: mysql_num_fields() et mysql_fetch_row()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Warning: Warning: mysql_num_fields() et mysql_fetch_row()

Re: Warning: Warning: mysql_num_fields() et mysql_fetch_row

par Mazarini » 10 oct. 2012, 11:32

...
Mais ça me marche pas
...
Ce n'est pas suffisant comme information pour corriger ton problème.
D'ailleurs, la modification que l'on t'as proposé avait pour but d'obtenir un message d'erreur pour corrigé en fonction de ce message.

Re: Warning: Warning: mysql_num_fields() et mysql_fetch_row

par atoss77 » 10 oct. 2012, 11:11

j'ai mis la fonction au début et remplacer mysql_query par db_query dans le reste du fichier

Mais ça me marche pas


Merci

Re: Warning: Warning: mysql_num_fields() et mysql_fetch_row

par Mazarini » 10 oct. 2012, 10:49

Qu'est ce qui t'empêche de mettre la fonction en début de ton fichier et de remplacer mysql_query par db_query dans le reste du fichier ?

Le problème à la base est que l'appelle à la fonction mysql_query() peut ne pas fonctionner pour diverse raisons : serveur qui ne fonctionne pas, erreur dans le code, modification de la base...
Il faut donc vérifier que la fonction s'est bien exécuté tout de suite après l'appel et la fonction mysql_errno() permet cela ainsi que la valeur retournée par la fonction. C'est valable pour pas mal de fonction comme l'ouverture d'un répertoire, l'ouverture d'un fichier...

Re: Warning: Warning: mysql_num_fields() et mysql_fetch_row

par atoss77 » 10 oct. 2012, 10:03

Peux tu me mettre ta fonction dans mon fichier


car je n'y arrive pas


Merci d'avance

Re: Warning: Warning: mysql_num_fields() et mysql_fetch_row

par Mazarini » 10 oct. 2012, 09:46

Ajoute la fonction :
<?PHP
function db_query($SQL,$link) {
   $result = mysql_query($SQL, $link) ;
   if ($result===false) {
       echo mysql_errno(),' : ',mysql_error(),'<br>',$SQL;
       exit;
   }
   return $result;
}
?>
Et remplace les mysql_query par db_query dans le script.

Tu utilisaras au choix :
($result===false) ou ($mysql_errno()<>0) dans la fonction

Re: Warning: Warning: mysql_num_fields() et mysql_fetch_row

par atoss77 » 10 oct. 2012, 09:24

Merci pour vos réponse

mais cela ne fonctionne pas

mysql_errno() doit être où ?

pouvez vous regarde le fichier joint AO - Copie (2)

Merci

Re: Warning: Warning: mysql_num_fields() et mysql_fetch_row

par Mazarini » 10 oct. 2012, 09:20

Personnellement, je préfère me baser sur mysql_errno() car il m'arrive de traiter certains codes erreurs comme les "duplicate key" que je contrôle par la requete de maj pour éviter un select en plus.

Mais c'est une question d'habitude et de préjuger.

Re: Warning: Warning: mysql_num_fields() et mysql_fetch_row

par moogli » 10 oct. 2012, 09:07

salut,

par exemple
<?php
// Ne pas oublier la connexion et la selection de base avant ;)
$sql = 'select truc from machin';
$ret = mysql_query($sql);
if ($ret === false) 
    echo '<p class="erreurSQL">Erreur SQL :<br />'.mysql_error().'<br />Avec la requête : '.$sql.'</p>';
}
else {
    // Traitement de la requête
    mysql_free_result($ret);
}
?>

@+

Re: Warning: Warning: mysql_num_fields() et mysql_fetch_row

par Mazarini » 10 oct. 2012, 09:05

après le mysql_query() :
if (mysql_errno() <> 0) affichage de messages (ordre sql, mysql_error()...) et arrêt du traitement

Re: Warning: Warning: mysql_num_fields() et mysql_fetch_row

par atoss77 » 10 oct. 2012, 08:52

Merci

mais je dois le mettre où dans le code mysql_error()

Re: Warning: Warning: mysql_num_fields() et mysql_fetch_row

par Mazarini » 10 oct. 2012, 08:30

Il y a surement une erreur lors du mysql-query().
Le contrôle de la bonne exécution de la requete via mysql_error()/mysql_errno() peut t'aider.

Warning: Warning: mysql_num_fields() et mysql_fetch_row()

par atoss77 » 10 oct. 2012, 08:04

Bonjour à tous

J'ai un code ou il me trouve 2 erreurs :

La première : Warning: mysql_num_fields() expects parameter 1 to be resource, boolean
La deuxième : Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean

En pèce le page .php

Merci pour votre aide