Announcement

Collapse
No announcement yet.

Selber Datensatz wird mehrmals abgespeichert

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Selber Datensatz wird mehrmals abgespeichert

    Hallo zusammen,

    ich habe ein problem. Ich arbeite mmomentan mit flash, php, oracle an einer aufgabe

    mittels php mach ich dann paar abfragen.

    problem: derselbe datensatz wird mehrfach abgespeichert. wie kann ich das verhindern?
    Zuletzt editiert von stella21; 04.02.2010, 10:49.

  • #2
    Hallo,
    Originally posted by stella21 View Post
    ...es geht um eine highscore liste. wenn die selbe person mt der selben zeit, der selbten punkten, der selben ...... nochmal ihre daten abspeichern will soll dies nicht erlaubt werden. und dies macht er momentan nicht.

    vorab:
    PHP Code:
    $query "
    SELECT HS_ID
    FROM WM_BL_HIGHSCORE
    WHERE HS_MANNSCHAFTEN_ID = '"
    .$data[3]."' AND
    USERNAME = '"
    .$data[0]."' AND
    PUNKTE = "
    .$data[1]." AND
    ZEIT = "
    .$data[2]." AND
    GEGNERLISTE = '"
    .$data[4]."' AND
    FR_ID_LISTE = '"
    .$data[5]."' AND
    TYP = '"
    .$data[6]."' ";

    $or_id dbConnect(); 
    und hier nun die funktion die es machen sollte, aber irgendwie macht er des net ...
    PHP Code:
    $result ociparse($or_id$query);
    ociexecute($result);
    if(
    ocirowcount($result) > 0) {
    die();

    also manchmal hilft es schon das Handbuch zu lesen .
    Da steht nämlich eindeutig drin, dass ocirowcount NIEMALS die Anzahl der selektierten Zeilen, sondern lediglich die Anzahl der gefetchten Zeilen zurückliefert:
    This function does not return number of rows selected! For SELECT statements this function will return the number of rows, that were fetched to the buffer with oci_fetch*() functions.
    Ohne Fetch ist das Ergebnis von ocirowcount() also IMMER 0!
    Übrigens, da du PHP 5 verwendest - seit 5.0.0 wird die Verwendung von oci_num_rows() empfohlen und ocirowcount() ist als deprecated markiert.

    Gruß Falk
    Zuletzt editiert von Falk Prüfer; 05.02.2010, 12:56.
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      habs hinbekommen

      Comment


      • #4
        Das ist aber nicht schön, dass jemand auf den Thread antwortet. Du findest dann heraus woran es lag und dann wird der Inhalt der Frage einfach gelöscht. Das heisst Falks antwortet war umsonst, weil keiner mehr weiss um was es geht. Das ist nicht sehr fair den Leuten gegenüber die versuchen Dir zu helfen.

        Besser wäre es das Problem stehen zu lassen und die Lösung zu posten.

        Comment


        • #5
          Originally posted by fanderlf View Post
          ...Besser wäre es das Problem stehen zu lassen und die Lösung zu posten.
          Sehe ich auch so! Den Inhalt der Frage (kommentarlos) zu ändern, nachdem jemand darauf geantwortet hat, zeugt nicht unbedingt von gutem Benehmen! Dies ist ein Forum und kein Frage-Antwort-Spiel! Hier soll es auch Leuten mit einem ähnlichen Problem möglich sein, die Lösung zu finden ohne neu fragen zu müssen.

          Ich habe den ursprünglichen Text (zumindest den relevanten Teil) der Frage von stella21 deshalb als Zitat in meine Antwort übernommen.

          Gruß Falk
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment

          Working...
          X