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)
mysql_fetch_array wird nicht erstellt
Einklappen
X
-
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($result, JSON_NUMERIC_CHECK);
?>
</body>
</html>
Einen Kommentar schreiben:
-
Zitat von chorn Beitrag anzeigenDu 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);
Vielen Dank für den Tip, habe den Befehl:
Code:mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
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:
-
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:
-
Zitat von goth Beitrag anzeigenAuf jeden Fall kombinierst du schon einmal mysqli und mysql Funktionen. Das ist eher ungünstig, weil das zwei unterschiedliche paar Schuhe sind.
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); ?>
Wie kann das eventuell testen?
Einen Kommentar schreiben:
-
Zitat von goth Beitrag anzeigenAuf 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); ?>
Einen Kommentar schreiben:
-
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:
-
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:
-
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
Einen Kommentar schreiben: