MySQLi - Prüfen ob Datensatz vorhanden ist

  • Hi,
    habe eine kleine Tabelle Stats in meiner DB. Ich möchte jetzt einen Datensatz erstellen, falls er noch nicht vorhanden ist. Wie prüfe ich, ob der Datensatz mit der bestimmten ID existiert? Num_Rows returned immer 1...


    Aussehen tut das so:
    Klick
    Der Datensatz existiert nicht, auch wenn er existiert steht da die 1. Woran liegt das? Mit MySQL ging das noch auf diese Weise, mit MySQLi nicht mehr...


    MfG


    Edit by Awesome:
    Habe mal dein passwort und so entfernt -.-'

  • Neues Problem:
    Ich weiß nicht ob es an meinem Verständniss von der Arraydefinition liegt, aber folgendes:
    Ich möchte eine gesamte MySQL Tabelle in ein Array speichern (zum sortieren).


    Die Tabelle wird korrekt gefüllt (klick), aber var_dumb liefert nichts. Die Ausgabe soll ja eigentlich nach dm Sortieren stattfinden.
    Wo habe ich meinen Denkfehler diesmal?

  • Kannst ja sehen auf der Seite, Link habe ich eben mitgegeben. Außer der Tabelle ist da nichts.

    das ist sehr komisch...


    zum sortieren... wenn das nicht zu komplex ist dann würde ich dass über das SQL Statement machen... zb

    SQL
    1. 'SELECT ID, Country, Server, Capacity, State FROM Stats ORDER BY Country, Server'



    sortiert zuerst nach Country und dann nach Server

  • Haha das ist ja genau wie mein erster Fehler =D Genauso bescheuert >.<
    Hab ich schon erwähnt, dass ich php hasse, und dass ich es noch mehr hasse, wenn Fehlermeldungen deaktiviert sind?


    Danke^^


    Aber durch die Order Methode direkt als MySQL Befehl brauch ich das speichern gar nicht mehr. Schön was es so alles gibt =)

  • Wie findet ihr die Übersicht jetzt?
    http://s3cret.yiggle.org/stats/read.php


    Die ganze Tabellenspalte färben möchte ich nicht, da es jeder sonst macht.
    Die Seite ist für meinen SBot Manager gedacht und sieht dann so aus:


    Was würdet ihr verbessern? Habe schon darüber nachgedacht eine Doppeltabelle zu machen damit man mehr Server auf einem Blick hat.


    ich würde evtl nur noch zwischen den servern so striche ziehen damit das übersichtlicher wird.
    oder man färbt die immer abwechselnd, blau grün ,blau grün und so damit man da denn die sachen besser ausenander halten kann :D

    Rechtschreibfehler sind Spezialeffekte meiner Tastatur und dienen ausschließlich der allgemeinen Belustigung!!!

  • Also das ist echt easy
    Die Spalte mit der ID als Primary Key setzen


    und dann ist das eine SQL abfrage


    INSERT INTO tabelle (spalte1,spalte2) VALUES (wert1,wert2) ON DUPLICATE KEY UPDATE idSpalte= idSpalte


    Oder


    INSERT IGNORE INTO tabelle (spalte1,spalte2) VALUES (wert1,wert2)


    der anchteil bei der 2ten variante ist aber das er alle anderen fehler auch ignoriert wobei das bei der ersten variante nicht der fall ist


    MfG Sick^

  • So da bin ich wieder ausm Urlaub zurück.


    FragSalat : Variante 1 klingt gut, aber da es jetzt schon funktioniert belasse ich es mit der alten Methode =)


    Was ich jetzt machen möchte: Die Tabelle (die Anzeige für die User) soll sich alle x Sekunden aktualisieren. Ich weiß, dass man die ganze Seite aktualisieren kann (window.SetTimout oder so) und dass man mit frames arbeiten kann. Frames mochte ich aber noch nie und die Timeout-Funktion sorgt wahrscheinlich dafür, dass man immer den Aktualisierungssound des IE hört^^


    Gibt es sonst andere Möglichkeiten? Sonst bleibt mir nur das frame.

  • wenn du die Aktualisierung nur in deinem programm haben willst dann würde ich das mit einem Timer (heißt abhängig von der Sprache eventuell anders) machen.


    ansonsten würd ich nen meta tag verwenden:
    vor </head>

    Code
    1. <meta http-equiv="refresh" content="5">


    lät die seite alle 5 sec neu (wert ist natürlich änderbar xD)

  • Beim meta tag kommt auch der coole Sound vom IE. Eine Aktualisierung nur durch das Programm wäre machbar, allerdings soll man die Serverstats Seite später auch im Browser aufrufen können.

    Einfache Lösung: scheiß auf IE :thumbsup:
    Aufwändige Lösung: Tabelle mit ajax und setInterval(http://de.selfhtml.org/javascr…e/window.htm#set_interval) laden/aktualisieren

  • IE muss ich ja nutzen im SBot Manager da kein anderer Webbrowser standartmäßig (bei Windows) installiert ist^^
    Und mit Ajax habe ich noch nie gearbeitet... Habe eigentlich keine Lust so viel neues zu lernen nur für diese doofe Statsseite^^


    Aber wenn es besser ist für User und den Traffic werde ich mir das mal angucken.