Zwei kurze Fragen zu queries mit Variablen...

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

  • Zwei kurze Fragen zu queries mit Variablen...

    Hi,

    ich such' schon eine ganze Weile, finde aber keine gescheiten Antworten.

    1) Kann mir jemand erklären, warum folgendes klappt:

    $p=$a[1][4];
    $return=mysql_query("select * from dbase where Name='$p'");

    dieses jedoch nicht:

    $return=mysql_query("select * from dbase where Name='$a[1][4]'");
    $p und $a[1][4] sollten doch den gleichen Wert haben und da sie "auskommatiert" sind...

    Gerade wenn man komplizierte queries absetzt, mit diversen Variablen, wird eine Latte $p=$a[...][...] ziemlich dröge (und sieht natürlich *** aus)...


    2) Gibt es eine Möglichkeit, einen ganzen Datensatz zurückzuschreiben ohne jedesmal den Weg über Einzelwerte gehen zu müssen?

    Ich habe eine temp-Tabelle, in der Daten bis zur Bestätigung enthalten sind, und dann in eine andere kopiert werden sollen. Jetzt jeden Datensatz einzeln in ein array lesen, jeden array-Wert fein säuberlich in eine Var zu speichern und diese dann wieder zu speichern ist auch nicht gerade genial...

    Aber irgendwie finde ich im Netz einfach nichts...

    Weiß vieleicht jemand was? N' paar Stichworte reichen...

    Danke, danke, danke!

  • #2
    zu 1 findest du sicherlich was. tipp: {}
    davon abgesehen, sollte man variablen nicht in einen string schreiben, sondern den string trenne.

    zu 2 kann ich dir nichts helfen, da deine fragestellung für mich keinen sinn ergibt. evtl meinst du ja INSERT ... SELECT . dies findest du im mysql-manual.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      jupp, 2.) war genau das, was ich meinte. Danke.

      Zu 1). {} im Manual hab' ich es jetzt eben nur als alternative Art, Variablenwerte anzusprechen gefunden, aber keine genaue Erklärung was {} macht und warum.
      Aber gehe ich richtig in der Annahme, dass du mir sagen willst, dass z.B. {$f[1][2]} funktionieren täte? Dito {$a[$i][$g]} etc.?

      Kommentar


      • #4
        so sollte es funktionieren. aber das hast du sicherlich schon getestet bevor du gepostet hast. oder?

        aber das will ich dir damit dennoch nicht sagen. ich will dir nur sagen, dass du den string auftrennen sollst.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Original geschrieben von Abraxax
          so sollte es funktionieren. aber das hast du sicherlich schon getestet bevor du gepostet hast. oder?
          Nein. *Reue Aber meine Rückfrage ging auch eher dahin, dass ich die "Technik" von {} gern etwas genauer verstehen würde und im php-Manual taucht dies in der gesamten Variablen-Abteilung nicht auf - zumindest wird nicht erklärt, was die Besonderheiten dieser Art der Variablen-übergabe sind...


          aber das will ich dir damit dennoch nicht sagen. ich will dir nur sagen, dass du den string auftrennen sollst.
          Gut, nehme ich mir zu Herzen. Ich hab's bisher anders gemacht weil ein query wie dieser auch nicht unbedingt durch Übersichtlichkeit glänzt...

          $query="select * from current_games where ((Unser=".$white." && T_O=".$t_o.") || (Unser =".$black." && T_O=".$t_o."))";

          Kommentar


          • #6
            was ist daran unübersichtlich?

            PHP-Code:
            $query 'SELECT * FROM current_games
                        WHERE
                          ( (Unser = '
            .$white.' AND T_O = '.$t_o.') OR
                            (Unser = '
            .$black.' AND T_O = '.$t_o.') )'

            wahrscheinlich kannst du deine query sogar noch so schreiben ... das ergibt für mich die gleiche logik ...

            PHP-Code:
            $query 'SELECT * FROM current_games
                        WHERE
                          T_O = '
            .$t_o.' AND
                          ( Unser = '
            .$black.' OR Unser = '.$white.' )'
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar

            Lädt...
            X