Rolf B: rtrim UPDATE Schleife

Beitrag lesen

Hallo PHP-Neuling,

du kannst ja auch ein paar Variablen einsparen. Aber ob Du es dann noch verstehst?

$result = mysqli_query($db, "SHOW COLUMNS FROM TABLE");
if ($result !== FALSE) 
{
   $colSet = implode("= ?, ", 
                     array_column(mysqli_fetch_all($result, MYSQLI_ASSOC),
                                  'Field'))
            . " = ?";
}
else
{
   // Fehler beim Lesen des Colset
}

Gar nicht so schlimm wie es aussieht 😉

  • das SQL Statement muss nicht in eine Variable, das kann man direkt übergeben
  • $result brauchen wir, weil die Query fehlschlagen kann und dann FALSE liefert. Das muss man abfragen und das fehlte bei Dir bisher noch.
  • mysql_query liefert ein mysqli_result Objekt und das kann außer einem Einzelzeilen-Fetch auch einen Fetch aller Rows in einem Aufruf mit mysqli_fetch_all. Dem muss man nur sagen wie die Zeilen aussehen sollen. Da Du über Feldnamen zugreifen willst, ist es MYSQLI_ASSOC. Vorher hast DU fetch_array verwendet, der hat MYSQLI_BOTH als Default. fetch_all hat MYSQLI_NUM als Default, darum muss man angeben dass man Namen will.
  • Das Ergebnis des mysqli_fetch_all ist ein Array aus den ermittelten Zeilen. Das jage ich durch den Spaltenprojektor array_column. Der isoliert aus einem Array von Arrays eine einzelne Spalte. Hier: Field.
// vorher: 
$allRows = [ 0 => [ 'Marke' => 'Audi'    , 'Modell' => 'A4' ],
             1 => [ 'Marke' => 'BMW'     , 'Modell' => '320' ],
             2 => [ 'Marke' => 'Mercedes', 'Modell' => 'A180' ],
             3 => [ 'Marke' => 'VW'      , 'Modell' => 'Golf' ] ];
$marken = array_column($allRows, 'Marke');
// Ergebnis:
   [ 0 => 'Audi', 1 => 'BMW', 2 => 'Mercedes', 3 => 'VW' ];

Und dieses Ergebnisarray wird nun mit '=?,' als Kleber implodiert und durch '=?' ergänzt.

Variablen? Nicht so viele. Die meisten Arbeitsdaten leben nur kurz auf dem Stack. Nachteil: Wenn was schiefgeht, kannst Du die Schritte nicht einzeln überprüfen. D.h. es ist durchaus nützlich, mit vielen Variablen anzufangen. Und solchen Code in Funktionen zu isolieren. Tablename rein, column Set raus.

Rolf

--
sumpsi - posui - obstruxi
0 220

Checkboxen im PHP mit SQL

PHP-Neuling
  • html
  • php
  • sql
  1. 1
    TS
    1. 0
      PHP-Neuling
      1. 0
        Auge
        1. 0
          PHP-Neuling
          1. 0
            Felix Riesterer
            1. 0
              PHP-Neuling
              1. 0
                Der Martin
                1. 0
                  PHP-Neuling
                  1. 0
                    PHP-Neuling
                    1. 0
                      Gunnar Bittersmann
                      • html
                      • php
                    2. 1
                      dedlfix
                    3. 1
                      TS
                      1. 0
                        PHP-Neuling
                        1. 0
                          Tabellenkalk
                    4. 0
                      Felix Riesterer
                      1. 0
                        Matthias Apsel
                        1. 0
                          Felix Riesterer
                          1. 0
                            Matthias Apsel
                            1. 2
                              Felix Riesterer
                        2. 0
                          Gunnar Bittersmann
            2. 1
              TS
              1. 1
                Gunnar Bittersmann
                1. 0
                  TS
                2. 0
                  robertroth
                  1. 0
                    Der Martin
                    1. 0
                      TS
                      1. 0
                        Der Martin
                      2. 0
                        Tabellenkalk
                        1. 0
                          robertroth
                  2. 0
                    Gunnar Bittersmann
                    1. 1
                      Raketengrundradar
                    2. 0
                      TS
                      1. -1
                        Gunnar Bittersmann
                        1. 0
                          TS
                          1. 0
                            Matthias Apsel
                            1. 0
                              TS
                              1. 1
                                Auge
                            2. 0
                              Raketentheoretiker
                              1. 0
                                Gunnar Bittersmann
                                • html
                                1. 0
                                  Rolf B
                                  1. 0
                                    TS
                                    1. 0
                                      Gunnar Bittersmann
                                  2. 0
                                    Raketentheoretiker
                                    1. 0

                                      Ein paar Korrektueren

                                      Raketeningrid
                                      1. 0
                                        Gunnar Bittersmann
                                        1. 0
                                          Christian Kruse
                                      2. 0

                                        Korrektur für function setChecked()

                                        RaketenQuadratIngrid
                                    2. 1
                                      Rolf B
                                      1. 0
                                        TS
                                        • software
                                        1. 0
                                          Raketentheoretiker
                                          • javascript
                                  3. 0
                                    Gunnar Bittersmann
                              2. 1
                                Julius
                3. 1
                  Gunnar Bittersmann
              2. 0
                dedlfix
                1. 2
                  MudGuard
            3. 1

              SQL - semantischer Unterschied zwischen 0 und null

              Camping_RIDER
    2. 1
      Rolf B
      1. 0
        Mitleser
  2. 0
    Felix Riesterer
    1. 0
      PHP-Neuling
      1. 0
        Robert B.
  3. 0

    Checkboxen im PHP mit SQL (Sicherheit)

    Raketenhacknix
    1. 0
      Raktentypokorrekturautomat
    2. 0
      PHP-Neuling
      1. 5
        Raketenede
        1. 0
          PHP-Neuling
          1. 4
            dedlfix
            1. 0
              PHP-Neuling
          2. 3
            MudGuard
  4. 0
    PHP-Neuling
    1. 0
      Rolf B
      1. 0
        PHP-Neuling
        1. 1
          Rolf B
          1. 0
            PHP-Neuling
            1. 0
              Rolf B
              1. 0
                Felix Riesterer
                1. 0
                  Der Martin
                  1. 0
                    dedlfix
              2. 0
                PHP-Neuling
                1. 0
                  Felix Riesterer
                  1. 0
                    PHP-Neuling
            2. 0
              Felix Riesterer
              1. 0
                PHP-Neuling
                1. 0
                  PHP-Neuling
                  1. 0
                    Felix Riesterer
                    1. 0
                      PHP-Neuling
                      1. 0
                        Felix Riesterer
                      2. 0
                        Der Martin
                      3. 0
                        dedlfix
  5. 0
    Felix Riesterer
    1. 0
      PHP-Neuling
      1. 0
        Der Martin
        • css
        • html
        1. 0
          PHP-Neuling
          1. 0
            Der Martin
            1. 0
              PHP-Neuling
            2. 0
              Gunnar Bittersmann
              • design
              1. 0
                Der Martin
        2. 0
          Gunnar Bittersmann
          1. 0
            Der Martin
            1. 0
              PHP-Neuling
              1. 0
                TS
                • css
                • datenmodell
                • html
                1. 0
                  PHP-Neuling
              2. 0
                Gunnar Bittersmann
                • design
                • ux
                1. 0
                  PHP-Neuling
            2. 0
              TS
              • css
              • geschichte
              • html
              1. 0
                Gunnar Bittersmann
                • geschichte
                1. 0
                  Der Martin
                  1. 0
                    TS
                2. 0
                  TS
                  1. 0
                    Rolf B
                    1. 0
                      TS
                      • geschichte
                      • hardware
                      1. 0
                        Gunnar Bittersmann
                      2. 0
                        Der Martin
                        1. 0
                          TS
                  2. 0
                    Gunnar Bittersmann
  6. 0
    PHP-Neuling
    1. 0
      dedlfix
      1. 0
        PHP-Neuling
        1. 0
          dedlfix
          1. 0
            PHP-Neuling
            1. 0
              PHP-Neuling
              1. 0
                dedlfix
                1. 0
                  PHP-Neuling
                  1. 0
                    Rolf B
                    1. 0
                      PHP-Neuling
                      1. 0
                        PHP-Neuling
                        1. 0

                          Warnung vor der Schreibfaulheit

                          TS
                          • philosophie
                          1. 0
                            PHP-Neuling
                          2. 1
                            Der Martin
                            • faulheit
                            • readability
                            1. 1
                              dedlfix
                              1. 1
                                Der Martin
                          3. 3
                            dedlfix
                            1. 0
                              MudGuard
                    2. 0
                      Der Martin
                      • php
                      • programmiertechnik
                      1. 0
                        TS
                        1. 0
                          Der Martin
                          1. 0
                            TS
                            • php
                            • programmiertechnik
                            • sicherheit
                            1. 0

                              Teilthread abgetrennt

                              TS
                              • zur info
                    3. 3
                      Waltraut von der Vogelweide
                  2. 0
                    TS
  7. 0

    rtrim UPDATE Schleife

    PHP-Neuling
    1. 0
      dedlfix
      1. 0
        PHP-Neuling
        1. 0
          dedlfix
          1. 0
            Rolf B
        2. 0
          Rolf B
          1. 0
            PHP-Neuling
            1. 0
              Rolf B
              1. 0
                PHP-Neuling
                1. 0
                  Rolf B
                2. 0
                  PHP-Neuling
                  1. 0
                    Felix Riesterer
                    1. 0
                      PHP-Neuling
                  2. 0
                    dedlfix
                    1. 0
                      PHP-Neuling
                      1. 0
                        dedlfix
                        1. 0
                          PHP-Neuling
                          1. 1
                            Rolf B
                            1. 0
                              PHP-Neuling
                              1. 1
                                Julius
                                1. 0
                                  Rolf B
                                  1. 0
                                    Tabellenkalk
                                    1. 0
                                      Tabellenkalk
                                  2. 0
                                    PHP-Neuling
                                    1. 0

                                      Gewöhn Dich dran

                                      Raktenphilosoph
                                      • sonstiges
                                      1. 0
                                        PHP-Neuling
                                    2. 0
                                      Rolf B
            2. 0
              Gunnar Bittersmann
              • php
        3. 0

          Schleife, foreach()

          TS
          • php
          1. 0
            Felix Riesterer
            1. 0
              Gunnar Bittersmann
              1. 0
                Felix Riesterer
                1. 0
                  Der Martin
                  1. 0
                    Felix Riesterer
                  2. 0
                    TS
                    • humor
                    1. 0
                      Der Martin
                      1. 0
                        TS
                        • humor
                        • mathematik
                        1. 0
                          Gunnar Bittersmann
                          • programmiertechnik
                          1. 0
                            TS
                            • mathematik
                            • programmiertechnik
                            1. 0
                              Gunnar Bittersmann
                              1. 0
                                TS
                        2. 0
                          Der Martin
                          1. 0
                            Gunnar Bittersmann
                            • menschelei
                            1. 0
                              Der Martin
                              1. 0
                                Gunnar Bittersmann
                          2. 0

                            Corona-Mode

                            Raketenkröner
                            • humor
                            1. 0
                              Der Martin
                              1. 0
                                Raketenkröner
                                1. 0
                                  Der Martin
                                  1. 0
                                    Tabellenkalk
                                    1. 0
                                      Raketenmedizinalprophet
                                  2. 0
                                    Raketenhumordezimierer
                                    1. 0
                                      Der Martin
                                      1. 0
                                        Raketenhumordezimierer
                                        1. 0
                                          TS
                                      2. 0
                                        Gunnar Bittersmann
                                        • politik
                                        1. 0
                                          TS
                                        2. 0
                                          Der Martin
                                          1. 0
                                            TS
                                            • humor
                                            • politik
                                        3. 0
                                          Gunnar Bittersmann
                        3. 1
                          1unitedpower
                  3. 0
                    Gunnar Bittersmann
                    1. 0
                      Der Martin
              2. 1

                Arrays

                TS
                • array
                • php
                1. 0
                  Mitleser
                  1. 0
                    TS
                    1. 0
                      Mitleser
                      1. 1
                        TS
                        1. 0
                          Mitleser
                          1. 0
                            TS
                            1. 0

                              Arrays, Vergleich statischer und dynamischer Datenhaltung

                              TS
                              • array
                              • php
                              • zur info
                              1. 1
                                1unitedpower
                                1. 0
                                  TS
                                  1. 0
                                    Der Martin
                                    1. 0
                                      TS
                                      1. 0
                                        Mitleser
                          2. 0
                            Rolf B
                            1. 0
                              TS
  8. 0
    Gunnar Bittersmann
    • moderation