Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] php-mysql google charts mit eigener DB

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] php-mysql google charts mit eigener DB

    Hallo zusammen,
    ich habe bereits erfolgreich mehrere google charts mit Daten aus der eigenen DB generiert. Nur aus irgendwelchen Gründen erhalte ich für die folgende Abfrage die folgende Fehlermeldung.

    PHP-Code:
    <?php
    $con
    =mysql_connect("localhost","root","") or die("Failed to connect with database!");
    mysql_select_db("otrs"$con); 

    $sth3 mysql_query("SELECT count(t.tn) AS 'Tickets', q.name AS 'Queue' FROM ticket t, queue q WHERE t.queue_id=q.id AND t.ticket_state_id = '1' GROUP BY q.name");
    $rows = array();
    $table = array();
    $table['cols'] = array(
        array(
    'label' => 'Queue''type' => 'string'),
        array(
    'label' => 'Tickets''type' => 'number')
            );
    $rows = array();
    while(
    $r mysql_fetch_assoc($sth3)) {
     
    $temp = array();
     
    $temp[] = array('v' => (string) $r['Queue']);    
     
    $temp[] = array('v' => (int) $r['Tickets']);
     
    $rows[] = array('c' => $temp);
    }
    $table['rows'] = $rows;
    $jsonTable3 json_encode($table);

    ?>
    Fehlermeldung:
    Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean
    Die Abfrage im PMA liefert tadellose Ergebnisse

    Jemand eine Idee?

  • #2
    http://php.net/manual/de/function.mysql-error.php

    Dabei auch gleich den Kasten mit dem Warnhinweis beachten.

    Die mysql_* Erweiterung ist veraltet und wird in der nächsten PHP-Version entfernt. Zudem ist deine Query anfällig für SQL-Injections.
    Durch einen Wechsel auf mysqli_* oder PDO greifst du aufdie modernere API zu und hast die Möglichkeiten Prepared Statements zu benutzen die gegen Injections wirken.
    Ich persönlich bevorzuge PDO, schönes Tutorial: http://www.peterkropff.de/site/php/pdo.htm
    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

    Kommentar


    • #3
      Danke für die Info - ich benötige das Skript nur für eine Demo-Umgebung, welche nur ein paar Tage auf einem internen Webserver laufen soll Hatte es bereits mit mysql_error() probiert, aber seltsamerweise war es die gleiche Meldung

      <?php
      $con=mysql_connect("localhost","root","") or die("Failed to connect with database!");
      mysql_select_db("otrs", $con);

      $sth3 =( mysql_query("SELECT count(t.tn) AS 'Tickets', q.name AS 'Queue' FROM ticket t, queue q WHERE t.queue_id=q.id AND t.ticket_state_id = '1' GROUP BY q.name") or die(mysql_error()));
      echo mysql_errno($sth3) . ": " . mysql_error($sth3). "\n";

      $rows = array();
      $table = array();
      $table['cols'] = array(
      array('label' => 'Queue', 'type' => 'string'),
      array('label' => 'Tickets', 'type' => 'number')
      );
      $rows = array();
      while($r = mysql_fetch_assoc($sth3)) {
      $temp = array();
      $temp[] = array('v' => (string) $r['Queue']);
      $temp[] = array('v' => (int) $r['Tickets']);
      $rows[] = array('c' => $temp);
      }
      $table['rows'] = $rows;
      $jsonTable3 = json_encode($table);
      echo mysql_error() ;

      ?>
      Warning: mysql_errno() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\text.php on line 6

      Warning: mysql_error() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\text.php on line 6
      :
      Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\text.php on line 15

      Kommentar


      • #4
        An welcher Stelle hast du es probiert?
        [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
        [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

        Kommentar


        • #5
          PHP-Code:
          <?php
              $con
          =mysql_connect("localhost","root","") or die("Failed to connect with database!");
          mysql_select_db("otrs"$con); 

          $sth3 mysql_query("SELECT count(t.tn) AS 'Tickets', q.name AS 'Queue' FROM ticket t, queue q WHERE t.queue_id=q.id AND t.ticket_state_id = '1' GROUP BY q.name");
          echo 
          mysql_errno($con) . ": " mysql_error($con). "\n";

          $rows = array();
          $table = array();
          $table['cols'] = array(
              array(
          'label' => 'Tickets''type' => 'string'),
              array(
          'label' => 'Queue''type' => 'number')
                  );
          $rows = array();
          while(
          $r mysql_fetch_assoc($sth3)) {
           
          $temp = array();
           
          $temp[] = array('v' => (string) $r['Tickets']);    
           
          $temp[] = array('v' => (int) $r['Queue']);
           
          $rows[] = array('c' => $temp);
          }
          $table['rows'] = $rows;
          $jsonTable3 json_encode($table);

          ?>
          Meldung:

          0:

          Kommentar


          • #6
            Wobei ich mittlerweile eine andere Vermutung habe...
            Ich nutze das obige Skript um mit google Charts - Grafiken darstellen zu lassen.

            Hierfür nutze ich das Kreis Diagramm (pie Chart - https://google-developers.appspot.co...echart#Example ), was mit dem obigen Code funktioniert. Nun will ich es aber mit dem Column-Chart (https://google-developers.appspot.co...#SimpleExample) nutzen. Allerdings bringt das den Fehler

            Kommentar


            • #7
              Habe den nun den Code nochmal neu zusammengestellt und nun direkt mit mysqli - kann ja nicht schaden

              Nun klappt es auch.

              Kommentar

              Lädt...
              X