IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

[osCommerce] Erreur sur script osCommerce


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [osCommerce] Erreur sur script osCommerce
    Bonjour,
    j'ai un problème avec ce script il vient du répertoire catalog/includes/fonctions
    fichier database.php
    Y aurait-il une erreur d'écriture sur ce script??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    <?php
    /*
      $Id: database.php,v 1.21 2003/06/09 21:21:59 hpdl Exp $
    
      osCommerce, Open Source E-Commerce Solutions
      <a href="http://www.oscommerce.com" target="_blank">http://www.oscommerce.com</a>
    
      Copyright (c) 2003 osCommerce
    
      Released under the GNU General Public License
    */
     
      function tep_db_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link') {
        global $$link;
     
        if (USE_PCONNECT == 'true') {
          $$link = mysql_pconnect($server, $username, $password);
        } else {
          $$link = mysql_connect($server, $username, $password);
        }
     
        if ($$link) mysql_select_db($database);
     
        return $$link;
      }
     
      function tep_db_close($link = 'db_link') {
        global $$link;
     
        return mysql_close($$link);
      }
     
      function tep_db_error($query, $errno, $error) { 
        die('<font color="#000000"><b>' . $errno . ' - ' . $error . '<br><br>' . $query . '<br><br><small><font color="#ff0000">[TEP STOP]</font></small><br><br></b></font>');
      }
     
      function tep_db_query($query, $link = 'db_link') {
        global $$link;
     
        if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) {
          error_log('QUERY ' . $query . "\n", 3, STORE_PAGE_PARSE_TIME_LOG);
        }
     
        $result = mysql_query($query, $$link) or tep_db_error($query, mysql_errno(), mysql_error());
     
        if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) {
           $result_error = mysql_error();
           error_log('RESULT ' . $result . ' ' . $result_error . "\n", 3, STORE_PAGE_PARSE_TIME_LOG);
        }
     
        return $result;
      }
     
      function tep_db_perform($table, $data, $action = 'insert', $parameters = '', $link = 'db_link') {
        reset($data);
        if ($action == 'insert') {
          $query = 'insert into ' . $table . ' (';
          while (list($columns, ) = each($data)) {
            $query .= $columns . ', ';
          }
          $query = substr($query, 0, -2) . ') values (';
          reset($data);
          while (list(, $value) = each($data)) {
            switch ((string)$value) {
              case 'now()':
                $query .= 'now(), ';
                break;
              case 'null':
                $query .= 'null, ';
                break;
              default:
                $query .= '\'' . tep_db_input($value) . '\', ';
                break;
            }
          }
          $query = substr($query, 0, -2) . ')';
        } elseif ($action == 'update') {
          $query = 'update ' . $table . ' set ';
          while (list($columns, $value) = each($data)) {
            switch ((string)$value) {
              case 'now()':
                $query .= $columns . ' = now(), ';
                break;
              case 'null':
                $query .= $columns .= ' = null, ';
                break;
              default:
                $query .= $columns . ' = \'' . tep_db_input($value) . '\', ';
                break;
            }
          }
          $query = substr($query, 0, -2) . ' where ' . $parameters;
        }
     
        return tep_db_query($query, $link);
      }
     
      function tep_db_fetch_array($db_query) {
        return mysql_fetch_array($db_query, MYSQL_ASSOC);
      }
     
      function tep_db_num_rows($db_query) {
        return mysql_num_rows($db_query);
      }
     
      function tep_db_data_seek($db_query, $row_number) {
        return mysql_data_seek($db_query, $row_number);
      }
     
      function tep_db_insert_id() {
        return mysql_insert_id();
      }
     
      function tep_db_free_result($db_query) {
        return mysql_free_result($db_query);
      }
     
      function tep_db_fetch_fields($db_query) {
        return mysql_fetch_field($db_query);
      }
     
      function tep_db_output($string) {
        return htmlspecialchars($string);
      }
     
      function tep_db_input($string, $link = 'db_link') {
        global $$link;
     
        if (function_exists('mysql_real_escape_string')) {
          return mysql_real_escape_string($string, $$link);
        } elseif (function_exists('mysql_escape_string')) {
          return mysql_escape_string($string);
        }
     
        return addslashes($string);
      }
     
      function tep_db_prepare_input($string) {
        if (is_string($string)) {
          return trim(tep_sanitize_string(stripslashes($string)));
        } elseif (is_array($string)) {
          reset($string);
          while (list($key, $value) = each($string)) {
            $string[$key] = tep_db_prepare_input($value);
          }
          return $string;
        } else {
          return $string;
        }
      }
    ?>
    Merci de m'aider,
    Eric

  2. #2
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut


    Tu peux decrire plus precisement le probleme, car on ne va pas regarder tout le code.
    If it's not broken, don't fix it.
    BiliBa Built on top of Zend Framework

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Je crois savoir...
    Hello,

    Je suis arrivé là un peu par hasard, et j'en profite pour ressortir ce sujet du placard vu que j'ai un soucis similaire.
    Le fichier en question à savoir database.php du répertoire catalog/includes/functions est désigné coupable de l'erreur suivante, qui appraît sur les pages de détails des produits :

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /x/x/x/x/x/www/includes/functions/database.php on line 104

    Voila un extrait du fichier en question, lignes 103 à 105 : function tep_db_num_rows($db_query) {
    return mysql_num_rows($db_query);
    }

    Quelqu'un aurait-il une idée pour résoudre mon problème ??? Merci d'avance

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    En fait c'est ce fichier qui est chargé de faire toutes les actions sur la base de données donc dès qu'il y a une erreur genre requête SQL invalide c'est lui qui est désigné.
    Vu ton erreur je pense que tu essaye d'appeler la fonction tep_db_num_rows en ne passant pas en paramètre un objet de type connection. Il faudrait voir ou tu appelle cette fonction pour en être sur.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse!

    Malheureusement mon niveau ne m'a permis d'en comprendre que la moitié... Si tu me guides un peu, je pourrais trouver le problème je pense ?

  6. #6
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Est ce que tu as essayé de modifier la page de détail de ton produit?
    Malheureusement je ne peux pas te guider comme ça sans voir ce que tu as fait. Comme je te l'ai dit dans le post précédent tu essaye surement d'utiliser la fonction tep_db_num_rows avec un argument qui n'est pas du bon type mais je ne sais pas t'en dire plus sans le code de cet appel.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Je viens d'essayer avec une version propre sans aucune modification (j'utilise une creload), et le problème est là aussi! Le problème est ailleurs.. mas où? Dans la base de donnée? Un nettoyage peut-il arranger les choses d'après toi?

Discussions similaires

  1. Erreur sur script de Rebuild d'indexes
    Par tibal dans le forum Administration
    Réponses: 9
    Dernier message: 23/03/2010, 14h48
  2. [ASP + VBScript] Erreur sur script
    Par richard_sraing dans le forum ASP
    Réponses: 2
    Dernier message: 24/04/2009, 11h43
  3. erreur sur script création de tables
    Par PickEpique dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/03/2007, 18h24
  4. Erreur sur script en attaquant une base mysql
    Par bilou95 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 09/10/2006, 15h58
  5. erreur sur script de sauvegarde
    Par zouetchou dans le forum Langage
    Réponses: 5
    Dernier message: 08/12/2005, 08h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo