mysql_fetch_array wird nicht erstellt

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

  • sfw
    antwortet
    d.h. wenn ich die Einträge dieser Seite richtig verstehe ...

    (mein Problem ist ähnlich, ich schrieb vor 15 Jahren nach einem Kurs eine Discographie mit 5000 CDs und 1500 Vinyls mit Access und finde mich mit heutigem php/sql nicht wirklich zurecht:
    mein Zugang sagt mir nur "Seite funktioniert nicht" oder "Antwort dauert zu lange", wenn ich " und ' verwechselt habe (2x eines davon in einem Statement) oder wenn wo ein . oder ; fehlt, Fehlermeldungen bekomme ich nur bei Versuchen in der sql Konsole)

    ... dann müsste das Folgende funktionieren?

    $conn= new mysqli($servername, $username, $password, $dbname) ;
    // wobei statt Variablen auch zb "localhost" etc. (also Strings) stehen kann?

    $sqla0= "create table namentabelle id(10) auto_increment, ".
    ."name char(100), vorname char(100)";
    $sqla1= "insert into namentabelle (name,vorname) values('Meier','Anton');";
    $sqlb= "select id, name, vorname from namentabelle;";

    $resultb= array();

    if (!$resulta0 = mysqli_query($sqla0) ; )
    die("Erzeugung von namentabelle fehlerhaft, Abbruch \n") ;
    elseif(!$resulta1 = mysqli_query($sqla1) ; )
    die("namentabelle ok aber Einfügen der Daten fehlerhaft, Abbruch \n") ;
    else
    {
    $resultb = mysqli_query(sqlb) ;}
    while($row = mysqli_fetch_array($resultb))
    {echo "\t".$row['name'] ."\t".$row['vorname']."\n"; }
    }
    mysql_close($conn) ;

    // (?) (ich bekomme wieder "diese Seite funktioniert nicht")

    // Zusatzfrage: gibt es irgendwelche sql statements, die in Versalien BLOCKBUCHSTABEN geschrieben sein müssen?
    (die sind übersichtlicher, ich weiss schon, aber Schreiben ist mühsamer)
    Zuletzt geändert von sfw; 07.08.2020, 12:46.

    Einen Kommentar schreiben:


  • Quito96
    antwortet
    Söderle, nun funktioniert es anbei das funktionierende Script.
    Bilder im Anhang als Nachweis

    Vielleicht kann ich damit irgendwann jemand andern inspizieren


    PHP-Code:
    <?php
      
    include_once 'mqtt_data_ok.php';
    ?>

    <!DOCTYPE html>
    <html>
    <head>
      <title> </title>
    </head>
    <body>

    <?php
        
        $sql 
    "SELECT * FROM `wind` WHERE  timestamp > TIMESTAMP(DATE_SUB(NOW(), INTERVAL 3 hour));";
        
    $result mysqli_query ($conn$sql);
        
    $resultCheck mysqli_num_rows($result);
        
        if (
    $resultCheck 0) {
          while (
    $row mysqli_fetch_assoc ($result)) {
            echo 
    $row['timestamp'] . "\t" $row['value0']. "\n";
        }
      }
      
      
    $result = array();
        
    array_push($result,$rows);
        print 
    json_encode($resultJSON_NUMERIC_CHECK);
    ?>

    </body>
    </html>
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Quito96
    antwortet
    Zitat von chorn Beitrag anzeigen
    Du kannst dein Query ja mal in PHPMyAdmin oder HeidiSQL testen. Und auf jeden Fall die Fehlerausgabe aktivieren:

    Code:
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    Hallo chorn,
    Vielen Dank für den Tip, habe den Befehl:
    Code:
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    in die mqtt.data.php gepackt nun bekomme ich Array angezeigt.

    Das ist mein aktuelles PHP Script, im Anhang die Übersicht der Tabelle.

    Ich bin Anfänger im PHP, deswegen gehe ich mal davon aus, das dass Problem vor dem Rechner sitzt.

    Ich benötige ein Array z.B. Tabelle wind row timestamp + value0.

    Ich habe leider noch kein HowTo im Netz gefunden was mich hier weiterbringt
    und auch ehrlich keinen Plan wie ich an die Daten komme.


    Wäre dankbar für jede Unterstützung und sei es ein gutes Howto.
    Vielen Dank

    HTML-Code:
    <?php
      include_once 'mqtt-data.php';
    ?>
    
    <!DOCTYPE html>
    <html>
    <head>
      <title> </title>
    </head>
    <body>
    
    <?php
        
    	$sql = "SELECT * FROM `wind` WHERE  timestamp > TIMESTAMP(DATE_SUB(NOW(), INTERVAL 2 hour));";
        $result = mysqli_query ($conn, $sql);
        $resultCheck = mysqli_num_rows($result);
        
        if ($resultCheck > 0) {
          while ($row = mysqli_fetch_assoc ($result)) {
            echo $row =['value0'] . "<br>";
        }
      }
    ?>
    
    </body>
    </html>
    Angehängte Dateien

    Einen Kommentar schreiben:


  • chorn
    antwortet
    Du kannst dein Query ja mal in PHPMyAdmin oder HeidiSQL testen. Und auf jeden Fall die Fehlerausgabe aktivieren:

    Code:
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    Einen Kommentar schreiben:


  • Quito96
    antwortet
    Zitat von goth Beitrag anzeigen
    Auf jeden Fall kombinierst du schon einmal mysqli und mysql Funktionen. Das ist eher ungünstig, weil das zwei unterschiedliche paar Schuhe sind.
    Hallo goth, hab mal mysqli verwendet nun bekomme ich Null als Rückmeldung, ist schon mehr al nix…

    HTML-Code:
    <?php
    
    $servername = „localhost";
    
    // REPLACE with your Database name
    $dbname = "mqtt-weather";
    // REPLACE with Database user
    $username = "ESP32";
    // REPLACE with Database user password
    $password = "Esp32xxxxx";
    
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: Please Check your Credentials..... " . $conn->connect_error);
    } 
    $result = mysqli_query($sql = "SELECT * FROM `wind` WHERE  timestamp > TIMESTAMP(DATE_SUB(NOW(), INTERVAL 3 hour));");
    
    while($row = mysqli_fetch_array($result)) 
    {
      echo $row['timestamp'] . "\t" . $row['value0']. "\n";
    }
    $result = array();
        array_push($result,$rows);
        print json_encode($result, JSON_NUMERIC_CHECK);
    
    mysql_close($con);
    ?>
    Vermutlich ist die Abfrage meiner table nicht korrekt…..
    Wie kann das eventuell testen?

    Einen Kommentar schreiben:


  • Quito96
    antwortet
    Zitat von goth Beitrag anzeigen
    Auf jeden Fall kombinierst du schon einmal mysqli und mysql Funktionen. Das ist eher ungünstig, weil das zwei unterschiedliche paar Schuhe sind.
    Code:
    <?php
    
    $servername = „localhost";
    
    // REPLACE with your Database name
    $dbname = "mqtt-weather";
    // REPLACE with Database user
    $username = "ESP32";
    // REPLACE with Database user password
    $password = "Esp32xxxxx";
    
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: Please Check your Credentials..... " . $conn->connect_error);
    } 
    $result = mysql_query($sql = "SELECT * FROM `wind` WHERE  timestamp > TIMESTAMP(DATE_SUB(NOW(), INTERVAL 3 hour));");
    
    while($row = mysql_fetch_array($result)) 
    {
      echo $row['timestamp'] . "\t" . $row['value0']. "\n";
    }
    $result = array();
        array_push($result,$rows);
        print json_encode($result, JSON_NUMERIC_CHECK);
    
    mysql_close($con);
    ?>
    Habe jetz mal ein anderes Schript probiert selber Fehler...

    Einen Kommentar schreiben:


  • Quito96
    antwortet
    wenn ich data.php aufrufe und z.B. einen Fehler bei den Zugangsdaten einbaue, erhalte ich zB.:
    Connection failed: Please Check your Credentials..... Access denied for user 'ESP32'@'p5B1760DF.dip0.t-ipconnect.de' (using password: YES)

    Da die Verbindung zur DB steht würde ich meht erwarten…. auch wenn meine Prog falsch ist …oder liege ich damit falsch?

    Einen Kommentar schreiben:


  • goth
    antwortet
    Auf jeden Fall kombinierst du schon einmal mysqli und mysql Funktionen. Das ist eher ungünstig, weil das zwei unterschiedliche paar Schuhe sind.

    Einen Kommentar schreiben:


  • chorn
    antwortet
    Vielleicht beschreibst du mal das Problem.

    Einen Kommentar schreiben:


  • Quito96
    hat ein Thema erstellt mysql_fetch_array wird nicht erstellt.

    mysql_fetch_array wird nicht erstellt

    Hallo zusammen,
    ich versuche gerade die mysql Daten meiner Wetterstation so aufzubereiten, das diese mittels data.php für highcharts zur Verfügung stehen.
    Die Datenbankanbindung (als Test) selbst klappt und auch Daten als html in table Form werden ausgegeben. (Bild u. Datenstruktur im Anhang.)

    Ich habe mir aus verschieden Foren Input geholt und versuche nun das ganze in die Gänge zu bekommen, allerdings reichen meine php und mysql Kenntnisse nicht mehr aus …..
    HTML-Code:
    <?php
    
    $servername = „xxxxxxx.de";
    
    // REPLACE with your Database name
    $dbname = "mqtt-weather";
    // REPLACE with Database user
    $username = "ESP32";
    // REPLACE with Database user password
    $password = "Espxxxxxx";
    
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: Please Check your Credentials..... " . $conn->connect_error);
    } 
    $result = mysql_query($sql = "SELECT * FROM `wind` WHERE  timestamp > TIMESTAMP(DATE_SUB(NOW(), INTERVAL 3 hour))");
    
    while($row = mysql_fetch_array($result)) {
      echo $row['timestamp'] . "\t" . $row['value0']. "\n";
    }
    
    mysql_close($con);
    ?>


    Bin für jeden Tip dankbar…. Vielen Dank
    Angehängte Dateien
Lädt...
X