Lesen einer Datenbank

  • Mein Ziel ist es, aus einer MySQL Datenbank einen gewissen Wert zu lesen. Habe mich darüber informiert und diesen Code geschrieben.

    So sieht meine Datenbank Tabelle aus:

    dt temperature pressure humidity temperature_min temperature_max windspeed winddegree cloudiness temperature_kf
    1545998400 4.99 879.28 55 3.86 4.99 0.67 224.001 48 1.13
    1546009200 3.39 879.73 71 2.54 3.39 0.65 238.003 100 0.85
    1546020000 1.43 880.4 80 0.86 1.43 0.71 243.501 100 0.56
    1546030800 0.39 880.82 78 0.11 0.39 0.72 235.001 88 0.28
    1546041600 -1.1 881.23 85 -1.1 -1.1 0.76 234.001 88 0
    1546052400 -2.65 881.47 87 -2.65 -2.65 0.77 225.506 36 0
    1546063200 -4.44 881.68 87 -4.44 -4.44 0.76 235.01 88 0
    1546074000 -0.55 881.96 67 -0.55 -0.55 0.77 211.501 36 0

    In meinem Code will ich die Temperatur von der Zeile dt=1546030800 ausgeben, jedoch bekomme ich diesen Error:

    mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement


    Vielen Dank für Ihre Hilfe.:danke_ATDE:

  • Schreib das SQL-Statement hintereinander, dann fällt Dir ein fehlendes Blank auf.

  • Schreib das SQL-Statement hintereinander, dann fällt Dir ein fehlendes Blank auf.

    Code
    command="SELECT temperature, temperature_min, temperature_max FROM wetterdaten_tab WHERE dt = ?; "

    Wo fehlt mir ein Blank?:/

  • Code
    command="SELECT temperature, temperature_min, temperature_max FROM wetterdaten_tab WHERE dt = ?; "

    Wo fehlt mir ein Blank?:/

    Das ist NICHT der gleiche Code, der oben steht .... Du schummelst.... :P

  • Ich verwende ``pymysql`` als Anbindung. Man sagt, es sei pythonischer ;)

    Der Platzhalter ist auch nicht ? sondern %s


    So auf die Schnelle könnte/dürfte es so aussehen:

    Edit

    PS: und es liegt nicht am Leerzeichen sondern wie erwähnt am falschen Platzhalter


    geht

    sql = "SELECT dt, temperature, temperature_min, temperature_max FROM `wetterdaten_tab`WHERE dt=%s;"

    geht eben nicht weil...

    sql = "SELECT dt, temperature, temperature_min, temperature_max FROM `wetterdaten_tab`WHERE dt=?;"

  • Es funktioniert!

    Vielen Danke!!!

    :bravo2::bravo2::bravo2: