Ankündigung

Einklappen
Keine Ankündigung bisher.

REST API Server request

Einklappen

Neue Werbung 2019

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

  • REST API Server request

    Hallo,
    In den letzten Tagen habe ich mich an ein Projekt gesetzt Daten einer API in eine MySQL Datenbank zu Übertragen.
    Ich habe mit einer Curl abfrage die REST Api bekommen, möchte aber nun den value (Ein Teil in der API) in meine Datenbank schreiben.

    PHP Script

    PHP-Code:
    session_start();

    $pin '79V0FW60C6IZPGICUN3VIK0F';

    $api 'roterlord_dXGbtVDHRVzdK48UeCyQLtSgS4sLNmMTSLr9';


    $ch curl_init();
    curl_setopt($chCURLOPT_URL"http://pin.dcr.bz/check?key=$api&pin=$pin");
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_HEADER1);



    $output curl_exec($ch);



    echo(
    $output) . PHP_EOL;


    curl_close($ch); 



    Das zeigt die Seite an :

    HTTP/1.1 200 OK Server: nginx/1.11.1 Date: Fri, 22 Jul 2016 22:36:47 GMT Content-Type: application/json Content-Length: 105 Connection: keep-alive {"pinCode":"79V0FW60C6IZPGICUN3VIK0F","initialV alu e":10,"value":10,"expiresAt":"Oct 20, 2016 2:56:32 PM"}

    Nun möchte ich den value des PinCodes in meine Datenbank schreiben, ich würde mich über Hilfe freuen

    Lg NoLane

  • #2
    PHP-Code:
    $jsonData file_get_contents($apiUrl);
    $data json_decode($jsonData);

    echo 
    $data->pinCode

    Kommentar


    • #3
      PHP-Code:
      <?php


      $pin 
      '79V0FW60C6IZPGICUN3VIK0F';

      $api 'roterlord_dXGbtVDHRVzdK48UeCyQLtSgS4sLNmMTSLr9';



      $jsonData file_get_contents('http://pin.dcr.bz/check?key=$api&pin=$pin');
      $data json_decode($jsonData);

      echo 
      $data->value;

      ?>
      Leider wird mir nun gar nichts mehr angezeigt ...

      Kommentar


      • #4
        Error Reporting einschalten.

        Debuggen

        http://php-de.github.io/jumpto/leitfaden/

        Kommentar


        • #5
          Ich kann damit leider gar nichts Anfangen, bin ein Anfänger in solchen Sachen...
          http://deincraft.gamemc.eu/test.php

          Kommentar


          • #6
            mit deiner php.ini kann auch niemand sonst was anfangen, du solltest den Artikel schon etwas weiter lesen als bis zum ersten Abschnitt.
            #4 gilt also weiterhin, als kleiner Hinweis dazu:
            Lass dir doch mal mit var_dump() deine Zwischenschritte ausgeben und schau was in deinen jeweiligen Variablen (z.B. $data) so drinsteht.

            Kommentar


            • #7
              Danke jetzt wird mir der Wert der Value geliefert, nur wie kann ich jetzt die Zahl in meiner Datenbank dazuaddieren ?

              PHP-Code:
              <?php


              $pin 
              '79V0FW60C6IZPGICUN3VIK0F';

              $api 'roterlord_dXGbtVDHRVzdK48UeCyQLtSgS4sLNmMTSLr2';



              $jsonData file_get_contents('http://pin.dcr.bz/check?key=roterlord_dXGbtVDHRVzdK48UeCyQLtSgS4sLNmMTSLr2&pin=79V0FW60C6IZPGICUN3VIK0F');
              $data json_decode($jsonData);

              echo 
              $data->value;

              ?>

              Kommentar


              • #8
                Code:
                UPDATE xxx SET yyy = yyy+$value WHERE ...
                Aufpassen wegen SQL Injections

                Kommentar


                • #9
                  Mal noch kurz zum file_get_contents string. Zumindestens mir gefällt die erste Variante die du hattest besser, du musst sie nur "richtig" anwenden.
                  PHP-Code:
                  $jsonData file_get_contents('http://pin.dcr.bz/check?key=$api&pin=$pin');  //falsch

                  $jsonData file_get_contents('http://pin.dcr.bz/check?key='.$api.'&pin='.$pin);  //richtig 
                  oder wenn du dabei noch ein bisschen "sauberer" vorgehen willst kannst du dir noch die Funktion hier anschauen: http://php.net/manual/de/function.http-build-query.php

                  Würde dann wohl in etwa so aussehen:
                  PHP-Code:
                  $data = [
                  'pin' => '79V0FW60C6IZPGICUN3VIK0F',
                  'key' => 'roterlord_dXGbtVDHRVzdK48UeCyQLtSgS4sLNmMTSLr2'
                  ];
                  $query http_build_query($data);

                  $jsonData file_get_contents('http://pin.dcr.bz/check?'.$query); 

                  Kommentar


                  • #10
                    Noch ne kleine Frage, wie kann ich den wert als Variable speichern ?

                    PHP-Code:
                    echo $data->value

                    Kommentar


                    • #11
                      Zitat von NoLane Beitrag anzeigen
                      Noch ne kleine Frage, wie kann ich den wert als Variable speichern ?

                      PHP-Code:
                      echo $data->value
                      Das ist vermutlich nicht sinnvoll. Daten die du schon hast nochmal "herumzukopieren" macht einen Quelltext am Ende meist nur sehr unübersichtlich.
                      PHP-Code:
                      $value $data->value 

                      Kommentar


                      • #12
                        PHP-Code:
                        <?php

                        include(test.php);

                        $link mysql_connect('localhost:3306''oliverk''bundesliga123');
                        $db mysql_select_db('oliverk_bestellung');

                        $value $data->value;    

                        $wert "SELCT balance
                                    FROM user
                                        WHERE id = 1"
                        ;

                        $query 
                            UPDATE Klasse
                                SET 
                        $wert = '$wert + $value'
                            WHERE id = 
                        $id";

                        mysql_query($query$link) or die(mysql_error());
                        mysql_close();


                        ?>
                        Was ist daran falsch ?

                        You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'balance FROM user WHERE id = 1 = 'SELCT balance FROM user WHER' at line 2

                        Kommentar


                        • #13
                          mysql_* schmeißt du bitte direkt wieder weg, das ist nicht grundlos seit ~10 Jahren veraltet. Nimm PDO.
                          PHP-Code:
                          SET $wert '$wert + $value' 
                          Bei $wert muss der Spaltenname stehen den du ändern willst.

                          Kommentar


                          • #14
                            PHP-Code:
                            <?php

                            include(test.php);

                            $link mysql_connect('localhost:3306''oliverk''bundesliga123');
                            $db mysql_select_db('oliverk_bestellung');

                            $value $data->value;    

                            $wert "SELCT balance
                                        FROM user
                                            WHERE id = 1"
                            ;

                            $query "
                                UPDATE user
                                    SET balance = '
                            $wert+$value'
                                WHERE id = 1"
                            ;

                            mysql_query($query$link$wert) or die(mysql_error());
                            mysql_close();


                            ?>
                            Aus irgendeinem Grund wird die Balance immer auf 0 gesetzt anstatt das sie von 10 auf 20 gesetzt wird ...
                            Der Fehler ist das es $value nicht kennt...

                            Kommentar


                            • #15
                              Lass dir mal $query ausgeben und schau dir an, was du an die Datenbank schickst.

                              Die mysql_ Funktionen sind veraltet und sollten nicht mehr verwendet werden. Schau dir mal PDO an -> http://php-de.github.io/jumpto/pdo/

                              Kommentar

                              Lädt...
                              X