MySQL – die neusten Beiträge

Wie kann der eingegebene Eintrag nach Bestätigung in die Datenbank gespeichert werden?

Hallo,

mit folgendem Code scheint es nicht zu funktionieren, dass die Eingabe nach Bestätigungsfrage nicht in der Datenbank aktualisiert. Warum? Bin neu in PHP
Danke!

 if ($name_select && $name_select !== $_POST["name"]) {

    // Meldung ausgeben, dass bereits ein Eintrag vorhanden ist

    echo "Es ist bereits ein Eintrag in der Spalte $column_name vorhanden. Möchten Sie den Eintrag wirklich überschreiben?";

    echo "<form action='putzgruppen.php' method='post'>";

    echo "<input type='hidden' name='name' value='" . $_POST["name"] . "'>";

    echo "<input type='hidden' name='column_name' value='" . $column_name . "'>";

    echo "<input type='submit' name='confirm' value='Ja'>";

    echo "<input type='submit' name='cancel' value='Nein'>";

    echo "</form>";

  } else {

    if ($count == 0) {

      // Einfügen des Namens in die Datenbank

      $name = $_POST["name"];

      $sql = "INSERT INTO Putzgruppe ($column_name) VALUES ('$name')";

      if (mysqli_query($conn, $sql)) {

        echo "Daten erfolgreich gespeichert.";

        header("Location: putzgruppen.php"); // Weiterleitung zur Datenbankseite

        exit(); // Beenden des Skripts, um ein weiteres Ausführen zu verhindern

      } else {

        echo "Fehler: " . $sql . "<br>" . mysqli_error($conn);

      }

    } else {

      if(isset($_POST['confirm'])) {

        // Aktualisierung des bestehenden Eintrags

        $name = $_POST["name"];

        $column_name = $_POST["column_name"];

        $sql = "UPDATE Putzgruppe SET $column_name='$name' WHERE $column_name='$name_select'";

        if (mysqli_query($conn, $sql)) {

          echo "Daten erfolgreich aktualisiert.";

          header("Location: putzgruppen.php"); // Weiterleitung zur Datenbankseite

          exit(); // Beenden des Skripts, um ein weiteres Ausführen zu verhindern

        } else {

          echo "Fehler: " . $sql . "<br>" . mysqli_error($conn);

        }

      }

    }

  }

} else {

  echo "Das Eingabefeld ist leer.";

}

Datenbank, MySQL, PHP

Wie vergleiche ich PHP Variablen mit unterschiedlicher Codierung?

Hallo liebe Community.

Ich suche die Lösung für ein Problem bei der Programmierung mit PHP und Variablen.

Ich möchte gerne einen Wert, den ich über mysqli abgerufen habe mit einer Variable aus einem Array vergleichen.

Das Problem dabei ist, dass bei Umlauten und Sonderzeichen das Programm nicht mitmacht. Die beiden verglichenen Werte müssten gleich sein, werden aber nicht als gleich erkannt.

Hier mein Beispiel:

Datenbank:

id --- vorname --- nachname

1 --- Sabrina --- M&uuml;ller

PHP:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">  

(Hier ein PHP Abschnitt zur Eintragung in die Datenbank, also demnach auch in UTF8 codiert)

$test = array("Sabrina","M&uuml;ller");

$result = mysqli_query($datenbank,"SELECT vorname, nachname FROM telefonbuch WHERE id='1'");

while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)) {

if($row['nachname']==$test[1])

echo "Erfolg";

else

echo "Kein Erfolg";

}

Ergebnis:

Wenn ich die Seite so aufrufe, kommt "Kein Erfolg".

Die Datenbank umfasst mehr Einträge, also alles andere ist richtig programmiert. Alles hat "Erfolg", nur die Einträge mit ä,ö,ü,ß,@, etc. haben keinen Erfolg.

Auch if($row['nachname']=='Müller') → Kein Erfolg

Auch if($row['nachname']=='M&uuml;ller') → Kein Erfolg

Auch wenn ich beide Werte vorher in Variablen packe → Kein Erfolg

Ein Test mit:

echo mb_detect_encoding($str)

Ergibt bei:

$row['nachname'] → UTF-8

$test[1] → ASCII

Wieso kann ich diese beiden Variablen nicht miteinander vergleichen und was kann ich tun, um dieses Problem mit den Umlauten zu lösen?

Vielen Dank für jede Hilfe.

Liebe Grüße =)

HTML, Webseite, Datenbank, MySQL, PHP

mehrdemensionales Array aus Datenbank auslesen mit php?

Hallo ich programmiere mit einem kleinem Team eine Onboarding Website für Mitarbeiter. Allerdings haben wir ein Problem beim auslesen unserer Datenbank. wir haben uns mit dem fronted Team abgesprochen dass wir die Daten per Array übergeben. Nun haben wir uns die daten per Array ausgeben lassen, per foreach schleife ausgeben lassen und zurück in mehrdemsionales Array gepackt. Allerdings können wir dieses nur per var_dump ausgeben und nicht mithilfe einer foreach Schleife normal per echo.

Wie können wir das umbauen?

Hier der aktuelle Code:

<?php 


    function getdata() {
    $pdo = new PDO('mysql:host=localhost; dbname=t-systems', 'root', '', [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    ]);
    $stmt = $pdo->prepare('SELECT * FROM `user`');
    $stmt->execute();
    $results = $stmt->fetchAll(PDO::FETCH_ASSOC);

    foreach ($results as $result) {
        $Ort = $result['Ort Name'];
        $ID_User = $result['ID'];
        $Vorname = $result['Vorname'];
        $Nachname = $result['Nachname'];
        $Telefonnummer = $result['Telefonnummer'];
        $mail = $result['Email'];
        $PLZ = $result['Plz'];
        $Straße = $result['Strasse'];
        $Hausnummer = $result['Hausnummer'];

        $userdata[] = [$Ort, $ID_User, $Vorname, $Nachname, $Telefonnummer, $mail, $PLZ, $Straße, $Hausnummer];
    }
       var_dump($userdata);

    }
Danke fürs weiterhelfen
Array, Datenbank, MySQL, PHP

wieso PHP Parse error: syntax error, unexpected token ";" in /home/emmanuel/Downloads/hp.php on line 11?

<link rel="stylesheet" href="style.css">
<?php
$db = unserialize(file_get_contents('data.php'));
if($db == false){
        $db = array();
}
if($_POST['mail'] == ''){
        if($_POST['name'] == ''){
                if($_POST['pass'] == ''){a
                        if(!array_key_exists($_POST['mail'], $db){
                                $db[$_POST['mail']] = [$_POST['name'], []];
                                file_put_contents('data.php', serialize($db));
                        } 
                }
        }
}
?>
<form action="" method="post">
    <center>
        <label for="firma_name" >name:</label><br>
        <input type="text" class="input" name="name" autocomplete="off"><br>
        <label for="produkte">email:</label><br>
        <input type="text"  class="input" name="mail" autocomplete="off"><br>
        <label for="adresse">pass:</label><br>
        <input type="text"  class="input" name="pass" autocomplete="off"><br>
        <input type="submit" class="anmelde_button" value="anmelden">
    </center>
</form>

wieso PHP Parse error: syntax error, unexpected token ";" in /home/emmanuel/Downloads/hp.php on line 11?

HTML, Webseite, CSS, JavaScript, HTML5, Datenbank, JQuery, MySQL, PHP, Programmiersprache, Webdesign, Webentwicklung, phpMyAdmin

Zahl mit Arduino an MySQL Datenbank senden?

Moin,

Vielleicht kann mir jemand helfen. Ich will, dass mein Arduino den Wert einer stinknormalen Variable an eine MySQL-Datenbank schickt. Ich bin mehr oder weniger am Verzweifeln, weil mir niemand helfen kann... Es kann doch nicht so schwer sein, ne blöde Zahl irgendwie in Form einer Variable an die Datenbank zu senden...

Ich benutze einen normales Arduino Uno, und ein W5100 ethernet shield

Mein bisheriger Ansatz war so: (Logindaten der Datenbank entfernt)

#include <Ethernet.h>

#include <MySQL_Connection.h>

#include <MySQL_Cursor.h>

byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

IPAddress server_addr('localhost'); 

char user[] = "root";       

char password[] = "secret";    

// Sample query

char INSERT_SQL[] = "INSERT INTO Test (Sensor) VALUES ('3')";

EthernetClient client;

MySQL_Connection conn((Client *)&client);

void setup() {

 Serial.begin(115200);

 while (!Serial);

 Ethernet.begin(mac_addr);

 Serial.println("Connecting...");

 if (conn.connect(server_addr, 3306, user, password)) {

  delay(1000);

 }

 else

  Serial.println("Connection failed.");

}

void loop() {

 delay(2000);

 Serial.println("Recording data.");

 

 MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);

 cur_mem->execute(INSERT_SQL);

 delete cur_mem;

}

SQL, HTML, Webseite, programmieren, Java, Cplusplus, Arduino, Datenbank, MySQL, PHP, Programmiersprache, Python, Softwareentwicklung, Webentwicklung, phpMyAdmin, Raspberry Pi

Flutter Data from API?

Hey, will Daten von meiner erstellten API ausgeben in meiner App.

Code:

fetchData() async {
    final response = await http.get(Uri.parse('http://localhost/list.json'));
    return json.decode(response.body);
  }

FutureBuilder(
            future: fetchData(),
            builder: (BuildContext context, AsyncSnapshot snapshot){
              if(snapshot.hasError){
                return Center(
                  child:Text("Error"),
                );
              }
              if(snapshot.hasData){
                return ListView.builder(
                  itemCount: snapshot.data.length, 
                    itemBuilder: (BuildContext context, int index){
                  return Row(
                    children: [
                      Expanded(
                        child: Container(
                        child: Column(
                          children: [
                            Text(snapshot.data[index]['id']),
                            SizedBox(height: 10,),
                            Text(snapshot.data[index]['name']),
                            
                          ],
                        ),
                        ),
                      ),
                    ],
                  );
                });
              }
              return Center(child: CircularProgressIndicator(),);
            },
          ),

Jedoch bekomm ich als Ausgabe "Error". Woran kann das liegen? Die API kann ich mit Postmann abfragen.

App, Technik, programmieren, iOS, Android, Dart, Entwicklung, MySQL, Programmiersprache, Rest, Softwareentwicklung, API, localhost, app entwicklung, Flutter

Warum kann dieser php code keine Verbindung zur Datenbank herstellen?

Ich sitze hier und verzweifle förmlich daran, warum sich die eingegebenen Daten aus:

<!DOCTYPE html>
<html>
  <head>
    <h1>Der Weg ins Paradies</h1>
    <link rel="stylesheet" href="GL.css">
  </head>
    <p>Die Welt dadraußen ist trist, doch <br> sein kein Schaf, sei ein Wolf</p>
    <form method="post" action="Registrierungsseite.php">
      <p><label>Name:<br><input type="text" name="Name"></label></p>
      <p><label>E-Mail:<br><input type="text" name="Mail"></label></p>
      <p><label>Passwort:<br><input type="password" name="Passwort"></label></p>
      <p><label>IBAN:<br><input type="text" name="IBAN"></label></p>
      <p><input type="submit" value="Registrieren"></p>
    </form>
  </body>
</html>

nicht in der MySQL-Datenbank wiederfinden.

Meine PHP-Datei ist diese hier:

<?php
  // Get the form data
  $name = $_POST['name'];
  $email = $_POST['email'];
  $password = $_POST['password'];
  $iban = $_POST['iban'];

  // Connect to the MySQL database
  $db = mysqli_connect("localhost", "root", "", "paradies");

  // Check if the connection was successful
  if (mysqli_connect_errno()) {
    // If the connection failed, display an error message and exit
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    exit;
  }

  // Insert the form data into the MySQL database
  $query = "INSERT INTO paradies (name, email, password,iban) VALUES ('$name', '$email', '$password', '$iban')";

  if (mysqli_query($db, $query)) {
    // If the insert was successful, redirect the user to the login page
    header("Location: GL.php");
    exit;
  }
  else {
    // If the insert failed, display an error message
    echo "Error: " . $query . "<br>" . mysqli_error($db);
  }

  // Close the MySQL connection
  mysqli_close($db);
?>

Ich sehe den Fehler einfach nicht, da sobald man die Daten absendet, es zwar zur PHP-Datei weitergeleitet wird, dann jedoch lediglich der Code zu sehen ist. Die Datenbank hat dann natürlich auch keinen Eintrag.

Danke im Voraus.

HTML, Datenbank, MySQL, PHP, phpMyAdmin

Was heißt diese C# Fehlermeldung und wie löst man das Problem?

Hallo,

Ich bekomme immer diese Fehlermeldung beim ausführen:

System.ArgumentException: "Format of the initialization string does not conform to specification starting at index 0."

Das ist mein Code:

using System;
using MySql.Data.MySqlClient;
namespace Database_projekt
{
  class Program
  {
    static void Main(string[] args)
    {
      string verbindungsdaten = "SERVER=localhost;" + "DATABASE=dtbs;" + "UID=admin;" + "PASSWORD=Wasd200!;";
      MySqlConnection verbindung = new MySqlConnection("verbindungsdaten");

      Console.WriteLine("Bitte geben sie die Artikelnummer ein.");
      int artikelnummer = int.Parse(Console.ReadLine());

      Console.WriteLine("Bitte geben sie den Fahrradtyp ein.");
      string typ = Console.ReadLine();

      Console.WriteLine("Bitte geben sie die Farbe ein.");
      string farbe = Console.ReadLine();

      Console.WriteLine("Bitte geben sie den Preis ein.");
      Console.WriteLine("Euro: ");
      double preisEuro = double.Parse(Console.ReadLine());
      Console.WriteLine("Cent: ");
      double preisCent = double.Parse(Console.ReadLine());



      string befehl = "INSERT INTO fahrraeder VALUES(" +
        artikelnummer + ",' " +
        typ + " ' ,'" +
        farbe + "' ," +
        preisEuro + "." + preisCent + ");";

      MySqlCommand befehlsobjekt = new MySqlCommand(befehl);
      befehlsobjekt.Connection = verbindung;

      verbindung.Open();
      befehlsobjekt.ExecuteNonQuery();
      verbindung.Close();

      string befehl2 = "SELECT * FROM fahrraeder;";

      MySqlCommand befehlsobjekt2 = new MySqlCommand(befehl2);
      befehlsobjekt.Connection = verbindung;

      MySqlDataReader Reader;
      verbindung.Open();

      Reader = befehlsobjekt2.ExecuteReader();
      while (Reader.Read())
      {
        string zeile = "";
        for (int i = 0; i < Reader.FieldCount; i++) 
        zeile += Reader.GetValue(i).ToString() + " ";
        Console.WriteLine(zeile);
      }


      verbindung.Close();


    }
  }
}

Wie löst man das?

C Sharp, Datenbank, MySQL, Visual Studio

PHP/HTML - Wie kann ich in jeder Zelle meiner Tabelle ein Dropdownmenü ausgeben?

Hallo zusammen,

folgendes Problem:

Ich möchte eine Tabelle haben, die in jeder Zelle ein Dropdownmenü hat. Später möchte ich die ausgewählten Werte in der Datenbank speichern.

Da die Tabelle selbst nicht statisch und aufgrund von anderen Parametern größer/kleiner, etc. ist, kann ich nicht in jede Zeile das Dropdown hineinschreiben.

Mein Dropdownmenü (welches einzeln einwandfrei funktioniert):

<form id="form" name="form" method="post">
  <select Vorname2='NEW'>
    <option value=""> </option>
    <?php while ($cat = mysqli_fetch_array($vornamen,MYSQLI_ASSOC)):; ?>
      <option value="<?php echo $cat['vorname'];?>">
        <?php echo $cat['vorname'];?>
      </option>
    <?php endwhile; ?>
  </select>
</form>

Wenn ich diesen Code zweimal verwende (auch unter anderem Namen), dann kann ich dennoch nur bei dem Menü etwas auswählen, welches zuerst im Quelltext vorkommt.

Die Wiederholungen versuche ich mit einer Loop gleichzeitig mit dem Aufbau der Tabelle zu intigrieren. In jede einzelne "Test"-Zeile soll später das Dropdownmenü.

  for ($x = 0; $x < $anzahltage; $x++) {
    echo "<tr>";
      echo "<td>";
?>
    Hier steht der Quelltext von oben
<?php
  echo "</td>";
  echo "<td> test 2</td>";
  echo "<td> test 3</td>";
  echo "<td> test 4</td>";
  echo "<td> test 5</td>";
  echo "<td> test 6</td>";
  echo "</tr>";
}

Gibt es da bessere Ideen?

Ich bin nicht so gut im Programmieren. Ich kenne nicht alle Befehle. Also bitte nicht zu streng sein. :)

SQL, HTML, Webseite, Datenbank, MySQL, PHP, Webentwicklung

Meistgelesene Beiträge zum Thema MySQL