absoluter php und mysql neuling braucht hilfe für ein projekt zur Datenbank Abfrage

  •  ich möchte mehrere daten aus der Datenbank abfragen diese wären alle Usernamen mit min.rang20 und oninepunktezahl 100000, Userrang, UseronlinegesammtPunkte nach der abfrage soll anhand der onlinepukte gestaffelt der unserrang upgedatet werden. z.b. rang20=vip(min-voraussetztung für alles) ab erreichen von 100000 und rang20 =update rang vip+ nach betätigung eines butten. das schript soll alle 60 min. automatisch ausgeführt werden.


    hier mal das was ich gebastelt habe leider ohne funktion.


    PHP
    <?php$pdo = new PDO('mysql:host=localhost:;dbname=dbname', 'benutzer', 'passw');// Findet alle Einträge mit ze_user level und ze_user online points total$sql = "SELECT * FROM `ze_user` WHERE user_level = '20' AND user_online_points_total = '100000'";$ze_user = $pdo->query($sql)->fetch();echo $ze_user['user_name']." ".$ze_user['user_level']." ".$ze_user['user_online_points_total']."<br />";$statement = $pdo->prepare("SELECT * FROM ze_user WHERE user_level = ?");$statement->execute(array('20')); $anzahl_ze_user = $statement->rowCount();echo "Es wurden $anzahl_user Benutzer gefunden";?>if ( user_online_points_total >=100000 "user_level=Vip_Plus" ){    echo "<p>Aktion hat gewünschten Wert Vip_Plus</p>";}if ( user_online_points_total >=250000 "user_level=Stammhörer" ){    echo "<p>Aktion hat gewünschten Wert Stammhörer</p>";}if ( user_online_points_total >=450000 "user_level=Stammhörer_Bronze" ){    echo "<p>Aktion hat gewünschten Wert Stammhörer_Bronze</p>";}if ( user_online_points_total >=600000 "user_level=Stammhörer_Silber" ){    echo "<p>Aktion hat gewünschten Wert Stammhörer_Silber</p>";}if ( user_online_points_total >=850000 "user_level=Stammhörer_Gold" ){    echo "<p>Aktion hat gewünschten Wert Stammhörer_Gold</p>";}if ( user_online_points_total >=1200000 "user_level=Stammhörer_Platin" ){    echo "<p>Aktion hat gewünschten Wert Stammhörer_Platin</p>";}if ( user_online_points_total >=2000000 "user_level=Stammhörer_Diamant" ){    echo "<p>Aktion hat gewünschten Wert Stammhörer_Dianmant</p>";}  Hier soll ein Button zum bestätigen eingebaut werden bevor das update geschieht!!! keine ahnung wie das zu realisieren ist      PHP-Code:      <?php$pdo = new PDO('mysql:host=host=localhost:;dbname=dbname', 'benutzer', 'passw'); $statement = $pdo->prepare("UPDATE user_level = ? WHERE id = ?");$statement->execute(array('user_level', 1));?>

    lg schmaler73
    bin dankbar für jede hilfe

  • Deine Gegenleistung sieht wie aus?

    bandit sag mir einfach per pn was du verlangst und wir werden sehen ob wir uns einig werden.

    - - - Aktualisiert - - -

    Hallo,

    Was heißt "ohne Funktion"?
    ErrorReporting ist aufgedreht?

    Gruß Arne

    hallo Arne
    laut einstellunungen der db kennt diese E_ALL und andere also gehe ich davon aus das das heist errorreporting offen! ohne funtion heisst " wenn ich das script ativiere dann bekomme ich eine weisse seite mehr leider nicht" also script ohne funtion

    • Offizieller Beitrag
    Zitat

    laut einstellunungen der db kennt diese E_ALL und andere also gehe ich davon aus das das heist errorreporting offen!

    Nein, das hat nichts mit der DB zu tun, das ErrorReporting ist Bestandteil von PHP, darauf wurdest Du in einem anderen Thread bereits hingewiesen, wenn ich da jetzt nichts vertausche.

    ErrorReporting aktivieren:

    PHP
    error_reporting ( -1 );
    ini_set ( 'display_errors', true );


    Diese beiden Zeilen an den Anfang Deines Scriptes und Dir werden Fehler, Hinweise und Warnungen angezeigt ( sofern sie nicht bspw. per @ unterdrückt werden ).


    Zitat

    wenn ich das script ativiere dann bekomme ich eine weisse seite mehr leider nicht

    Eine weiße Seite hat fast immer grobe Syntax-Fehler als Ursache.
    In den meisten Fällen, wird DIr bei aktiviertem ErrorReport dann aber auch ein Fehler geworfen ( nur in ganz seltenen Fällen nicht! ).
    Ein grober Fehler wurde Dir bereits genannt, im anderen Thread. Den hast Du bisher nicht korrigiert.

  • hallo arne ich habe bis jetzt nichts weiter gemacht ausser die beiden zeilen die ich vom bandit bekam

    PHP
    error_reporting(E_ALL);
    ini_set('display_errors', true);


    am anfang eingefügt so das mein gebastel jetzt so beginnt

    aber bis hier her passiert alleine mal nicht ausser eier weissen seite

    lg schmaler73

    ps werde jetzt die ersten beiden zeilen mal mit deine erstzen dun schauen ob sich was ändert.

    ........habe es mal mit deinen startzeilen probiert Arne aber auch kein anderes ergebnis bekommen. seite hochgeladen und aufgerufen und es passiert nix seite bleibt weiss leider

    Einmal editiert, zuletzt von schmaler73 (10. Mai 2017 um 00:56)

  • Ungetestet:

    Einmal editiert, zuletzt von Bandit (10. Mai 2017 um 08:00)

  • Ungetestet:

    Hallo Bandit danke erstmal vorweg für dein script habe das mal ausprobiert aber leider bekomme ich auch hier nur eine weisse (leere) seite als feedback warum weiss ich nicht.
    lg schmaler73

  • Du hast aber PHP zur Verfügung, oder? Wie rufst du das Script auf? Funktioniert dieses Miniscript:

    PHP
    <?php
       phpinfo();
    ?>
  • Ganz ohne PHP würde der Inhalt der Datei ausgegeben werden.


    Nicht zwingend. Der Browser nimmt dann nämlich an, dass es sich bei <?php um ein HTML-Tag handelt und kann dann leider nichts damit anfangen. Deshalb ja auch die Frage, wie er das Script aufruft. ;)

  • hallo ihr zwei das script von dir bandi ist in einer in einer seite xyz.php eingebunden so wie ich es von dir bekam natürlich vervollständigt mit daten der db usw.und wird per link aufgerufen .
    lg zu euch

    • Offizieller Beitrag

    Und die weiße Seite besteht immer noch?
    Dann stimmt etwas mit Deiner PHP-Konfiguration nicht oder Du hast einen groben Fehler beim Anpassen mit Deinen Daten eingebaut.

    Poste bitte mal den Quelltext, wie er derzeit ist. Bitte NUR Benutzer und Passwort für DB-Connect entfernen.
    Alles andere Zeichen für Zeichen so lassen, ansonsten drehen wir uns hier im Kreis.

  • bitte Arne wie von dir gewünscht hier der text des scripts habe nur db daten durch XXXXXX ersetzt. ansonsten ist das der text so wie er in der datei xyz.php drinnen ist und per link aufgerufen wird.

    sage schon mal danke für die mühe
    lg schmaler73

    • Offizieller Beitrag

    Ohne das jetzt recherchiert zu haben, glaube ich, dass die() keinen zweiten Parameter erwartet:

    PHP
    die("Connect failed: %s\n", $mysqli->connect_error);

    Für so ein String-"Templating" brauchst Du printf() bzw. sprintf().

    Ansonsten fällt mir kein grober Fehler auf.
    Teste das mal bitte. Wenn dann immer noch eine weiße Seite erscheint, teste mal den Tipp von Bandit:

    PHP
    <?php phpinfo();


    Das als einzige Zeile in eine .php-Datei und schauen, was passiert.


    EDIT: Mir fällt grad auf, dass Du beim ersten die() kein or verwendest!
    Vielleicht ist es auch das?

  • Hallo Arne nach dem PHP coe von dir

    PHP
    <?php phpinfo();


    bekomme ich folgendes :
    [h=1]PHP Version 5.6.30[/h]


    This program makes use of the Zend Scripting Language Engine:
    Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v6.0.7, Copyright (c) 2002-2016, by ionCube Ltd.
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies


    leider habe ich das mit dem printf() bzw sprint() nicht verstanden vieleicht kannst mir da sagen was ich damit machen muss
    lg schmaler73

    • Offizieller Beitrag

    Ist auch erstmal zweitrangig. Füge erstmal das or vor dem die() ein und verwende einen simplen String im die(), anstatt dem %s. Und lass den zweiten Parameter weg.

    Aus

    PHP
    die("Connect failed: %s\n", $mysqli->connect_error);


    mach

    PHP
    or die("Connect failed: " . $mysqli->connect_error);
  • Ist auch erstmal zweitrangig. Füge erstmal das or vor dem die() ein und verwende einen simplen String im die(), anstatt dem %s. Und lass den zweiten Parameter weg.

    Aus

    PHP
    die("Connect failed: %s\n", $mysqli->connect_error);


    mach

    PHP
    or die("Connect failed: " . $mysqli->connect_error);

    Hallo Arne habe das script abgeändert wie angegeben leider keine Änderung nach aufruf bleibt die seite weiss dann habe ich versucht mit "sprintf" etwas zu erreichen ich weiss nur nicht ob das so richtig eingebaut ist deshalb hier nochmal das script so wie es jetzt ist.

    habe das script so mal laufen lassen aber auch da bleibt die seite weiss vielleicht eine idee oder "sprintf" an falscher stelle oder falsche $ befehle ???
    lg schmaler73