+ Antworten
Ergebnis 1 bis 8 von 8

Thema: getNumRows() Problem

  1. #1
    Neu an Board
    Registriert seit
    02.01.2009
    Beiträge
    22
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard getNumRows() Problem

    Hallo möchte mittels dieses Scripts in einem Modul auf die Anzahl der betroffenen Datensätze zugreifen, allerdings funktioniert das nicht:

    PHP-Code:
    <?php
    defined
    ('_JEXEC'
      or die( 
    'Restricted access' ); 
    class 
    modMessageHelper{
      function 
    getMessageCounter(){
        global 
    $mainframe;
        
    $row null;
        
    $db  = &JFactory::getDBO();
        
    $user= &JFactory::getUser();
        
    $query "SELECT COUNT(message_id) AS Number"
               
    "\n FROM #__message"
               
    "\n WHERE message_user_to="$user->get('ID');
        
    $db->setQuery$query );
        
    $number $db->getNumRows($query);
        return   
    $number;
      }
    }
    ?>
    Hier die Fehlermeldung:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in

  2. #2
    Verbringt hier viel Zeit Avatar von dot°NETt
    Registriert seit
    07.11.2004
    Beiträge
    570
    Bedankte sich
    3
    Erhielt 216 Danksagungen
    in 187 Beiträgen

    Standard

    Entweder
    PHP-Code:
    // ...
    $query "SELECT message_id"
        
    "\n FROM #__message"
        
    "\n WHERE message_user_to="$user->get('ID');
    $db->setQuery$query );
    $res $db->query();
    $number $db->getNumRows($res);
    // ... 
    oder

    PHP-Code:
    // ...
    $query "SELECT COUNT(message_id) AS Number"
        
    "\n FROM #__message"
        
    "\n WHERE message_user_to="$user->get('ID');
    $db->setQuery$query );
    $number $db->loadResult();
    // ... 
    --
    mfG
    dot°NETt

  3. #3
    Neu an Board
    Registriert seit
    02.01.2009
    Beiträge
    22
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Also bei deiner ersten Varianten bekomme ich den gleichen Fehler wie vorher:

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in

    Und bei der zweiten Variante bleibt die Variable einfach leer, im Template kommt nichts an..

  4. #4
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    dann scheint die sql abfrage nicht korrekt zu sein...

    mach mal ein die($query); vor deinem setquery und schau dir den mal an, ggf mal in phpmyadmin kopieren und gucken, ob die syntax stimmt oder passende datensätze gefunden werden.

  5. #5
    Verbringt hier viel Zeit Avatar von dot°NETt
    Registriert seit
    07.11.2004
    Beiträge
    570
    Bedankte sich
    3
    Erhielt 216 Danksagungen
    in 187 Beiträgen

    Standard

    Da ich solche Konstrukte ebenfalls nutze, habe ich die kleinen Snippets vorher getestet - allerdings mit Statements, die auf bei mir existierende Tabellen Bezug nehmen.
    Da beide Varianten bei mir funktionier(t)en, sollten diese auch generell funktionieren ...

    --
    mfG
    dot°NETt

  6. #6
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    Zitat Zitat von dot°NETt Beitrag anzeigen
    Da ich solche Konstrukte ebenfalls nutze, habe ich die kleinen Snippets vorher getestet - allerdings mit Statements, die auf bei mir existierende Tabellen Bezug nehmen.
    Da beide Varianten bei mir funktionier(t)en, sollten diese auch generell funktionieren ...

    --
    mfG
    dot°NETt
    PHP-Code:
    $user->get('ID'); 
    funktioniert schonmal nicht,
    PHP-Code:
    $user->get('id'); 
    hingegen schon...
    PHP-Code:
    die($query); 
    sei dank

  7. Erhielt Danksagungen von:


  8. #7
    Verbringt hier viel Zeit Avatar von dot°NETt
    Registriert seit
    07.11.2004
    Beiträge
    570
    Bedankte sich
    3
    Erhielt 216 Danksagungen
    in 187 Beiträgen

    Standard



    Ich hatte doch geschrieben:
    ... allerdings mit Statements, die auf bei mir existierende Tabellen Bezug nehmen ...
    ... und da war kein $user->get('ID'); oder $user->get('id'); dabei.
    OK, ich hätte noch ergänzen müssen, dass auch die WHERE-Klausel anders formuliert war (ich habe gar keine Tabelle mit dem Feld message_user_to).

    Nur deshalb sei's angemerkt, da du mich zitiert hast.

    --
    mfG
    dot°NETt
    Geändert von dot°NETt (23.02.2009 um 16:49 Uhr)

  9. #8
    Neu an Board
    Registriert seit
    02.01.2009
    Beiträge
    22
    Bedankte sich
    2
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Also man kann sich ja auch blöd anstellen, thx @ JoomlaHatesMe!

    1000000000 mal hab ich $user->get('id'); geschrieben, beim
    1000000001 mal schreib ich $user->get('ID');

    Vielen lieben Dank für den Hinweis.

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein