Datenbank - neue und gute Antworten

  • 0
    Verwaltungssoftware für MySQL Datenbank
    Antwort von BeatBoi BeatBoi

    Leider bin ich immer noch nicht wirklich weiter.

    Vielleicht versuche ich es nochmal etwas anders zu beschreiben.

    Der Anwender soll über eine Adresse zu einem Anmeldeformular kommen, da die Daten in der Datenbank nur für bestimmte Leute zugänglich sein soll. Nach der Anmeldung findet man dann die Tabellen aus der Datenbank und ein Suchfeld. Wenn man nun Daten zu einer Tabelle hinzufügen möchte, dann gelangt man zu einem einfachen Eingabeformular.

    Es muss nicht besonders schick sein und sehr einfach gehalten. Ich hoffe es gibt so etwas. Denn meinte Programmierkenntnisse halten sich auch in Grenzen.

  • 0
    Referentielle Integrität
    Antwort von wotan38 wotan38

    Ich habe z.B. eine Tabelle Mitglieder mit der Mitgl-Nr als Primärschlüssel. Dazu habe ich eine weitere Tabelle mit den Zahlungen (pro Mitglied habe ich ja mehrere Zahlungen, deshalb die eigene Tabelle). In der Tabelle Zahlungen steht auch die Mitgl-Nr, um den Bezug zum Mitglied herzustellen. Nun könnte es sein, dass in der Tabelle Zahlungen Mitgl-Nrn stehen, die es in der Tabelle Mitglieder gar nicht gibt. Z.B. weil das Mitglied gelöscht wurde, die dazugehörenden Zahlungen aber nicht. Um das zu verhindern, bietet die Datenbank eine Möglichkeit unter dem Begriff Referentielle Integrität an, dies zu überwachen. Man definiert in der Tabelle Zahlungen die Mitgl-Nr der Mitgliedertabelle als Fremdschlüssel. Damit sind nur noch Mitgl-Nrn gültig, die in der sog. übergeordneten Tabelle auch vorkommen. Das ist aber noch nicht alles. Es gibt drei Arten von Fremdschlüssel:

    1. delete restict bedeutet, dass das Löschen eines Mitgliedes nur möglich ist, wenn keine Zahlungen vorhanden sind. Ggf. muss man diese vorher löschen.

    2. delete cascade bedeutet, dass im Falle des Löschens die Zahlungen einfach mitgelöscht werden.

    3. delete set null bedeutet, dass die Zahlungen bleiben, aber die ungültig gewordenen Mitgl-Nrn auf null gesetzt werden (geht nicht immer).

    Wird eine übergeordnete Tabelle neu erstellt, werden alle Fremdschlüssel-Definitionen entfernt und müssen neu eingerichtet werden.

    Anweisungen, die gegen die Integrität verstoßen, werden mit einer Fehlermeldung abgewiesen.

    Solche Abhängigkeiten können über mehrere Stufen definiert werden, auch rekursiv, d.h. im Kreis herum. Es gibt dann keine Tabelle, die ganz oben über allen Tabellen steht. Das ist mitunter kompliziert, aber es gibt sinnvolle Anwendungen dafür.

    Zu diesem Thema habe ich schon mehrfach Antworten verfasst, suche mal unter wotan38, vielleicht findest die noch irgendwo.

  • 0
    PHP Echo funtzuniert nicht
    Antwort von OttoLorenz OttoLorenz

    Auf meiner Datenbank hab ich als Tabelle für die Punkte iv4_points, also muss ich doch ".$points machen.

    Was hat der Datenbankname mit dem Arraynamen zu tun? Wie das Array heißen soll, legt man doch selbst fest. Das steht doch recht eindeutig im Quellcode drinnen, wie das Array heißt.

    Du solltest für solche SQL-Queries besser auch Tools wie phpMyAdmin installiert haben und sie dort testen, ob sie überhaupt das gewünschte Ergebnis zurückgeben. So kannst du wenigstens sichergehen, dass es an deinem Script und nicht am SQL-Befehl liegt, dass es keine Ergebnisse gibt.

  • 0
    Verwaltungssoftware für MySQL Datenbank
    Antwort von heikoerz heikoerz

    du kannst weiter PHP admin verwenden must nur deine zugangsdaten ind conig.php vornehmen ansonsten bleibt dir nur die suche über google "Mysql scripte" oder "mySql Prgramm"

  • 0
    Verwaltungssoftware für MySQL Datenbank
    Antwort von sarabina sarabina

    Informiere dich doch mal über InnoDB, vielleicht ist das das Richtige für dich.

    http://de.wikipedia.org/wiki/InnoDB

  • 0
    Verwaltungssoftware für MySQL Datenbank
    Antwort von halloa1997 halloa1997

    Warum geht PHPmyADMIN nicht? Welches Problem hast, ich kann dir sicherlich weiterhelfen

    Kommentar von BeatBoi BeatBoi

    Ich persönlich habe damit kein Problem. Doch für jemanden der noch nie was von SQL gehört hat wird es denke ich sehr schwierig werden mit der Datenbank zu arbeiten.

  • 0
    Referentielle Integrität
    Antwort von Regenmantel Regenmantel

    Referentielle Integrität: Kann ich nicht erklären, aber ich kanns 3 mal schnell hintereinander sagen... ;)

    Kommentar von xWTFx xWTFx

    Da hast du ja schon viel in deinem Leben erreicht :)

    Kommentar von Regenmantel Regenmantel

    Passt auf keine Kuhhaut...;)

  • 0
    SQLite3 Datenbank verarbeiten
    Antwort von myjack myjack

    Hast du denn der Variablen $sqliteDb auch einen Wert zugewiesen? Optimalerweise den Namen der Datenbanbank :)

    Kommentar von dennis7903 dennis7903

    Logisch :D hab ich, hab die sache aber jetz anders über ecken und kanten gelöst ^^

  • 0
    Bento Daten in Excel zu exportieren- mit Bildern
    Antwort von Distel35 Distel35

    oder über shortlink:
    http://101.gs/4epm7uf

  • 0
    Bento Daten in Excel zu exportieren- mit Bildern
    Antwort von Distel35 Distel35

    vielleicht hilft dir das da:
    help.filemaker.com/app/answers/detail/a_id/6966/kw/Bento for iPad import excel/session/L3RpbWUvMTMzNzc2NzcwNi9zaWQvamlEN1VQWWs%3D

  • 0
    PHP Echo funtzuniert nicht
    Antwort von Fisker31 Fisker31

    Ich glaube es liegt an falsch gesetzten Semikola. Versuche es hiermit:

    <?php echo "Willkommen .$userdata[name]. Du hast .$points[points]. Punkte"; ?>

    Kommentar von OttoLorenz OttoLorenzOttoLorenz

    Sein Syntax ist schon korrekt, sonst könnte er gar kein "Wilkommen User. Du hast Punkte" ausgeben. Der Fehler muss im $points-Array liegen. Dein Syntax ist dagegen falsch, da du die Variablen ja von den einzelnen Strings trennen musst.

    Also entweder

    echo "Willkommen " . $userdata['name'] . ". Du hast " . $points['points'] . " Punkte";
    

    Noch besser von der Performance her wären einfache Anführungszeichen, dann werden die Strings nicht nach Variablen geparsed. Bringt etwa 15-20% mehr Performance.

    echo 'Willkommen ' . $userdata['name'] . '. Du hast ' . $points['points'] . ' Punkte';
    

    Oder per printf. Das ist ansich etwas langsamer, dafür einfacher für Template-Systeme. Könnte hier evtl aber auch schneller sein, weil der PHP-Parser nicht ständig zwischen Strings und Variablen wechseln muss. Gibt eben nur einen String und nicht drei. (%s für Strings / %d für Dezimalzahlen/Integers).

    printf('Willkommen %s. Du hast %d Punkte', $userdata['name'], $points['points']);
    
  • 0
    Wenn nach Sport gefragt wird, ob ich nur aktuelle Sportarten eintragen soll, die ich zur Zeit mache?
    Antwort von Sophiasmile Sophiasmile

    Wenn du es kannst, dann ja(ist ja nur zu deinem Vorteil) ;) PS:Bei Filmgesichter ?? :D

    Kommentar von AkizaIzayoi AkizaIzayoi

    Ah okay danke, dann schreib ich das mal hin ^^ Das ist für die Datenbank für die Daily-Soaps Alles was zählt, Unter uns und Verbotene Liebe ^^

  • 1
    Bild-Datenbank Käfer?
    Hilfreichste Antwort von Bugman Bugman

    Bei kerbtier.de kannst du viele Arten nach Foto selbst bestimmen. Manche Arten lassen sich aber alleine durch Fotos kaum bis gar nicht unterscheiden.

    Kommentar von go4java go4javago4java

    Danke, es war ein "Großer Rosenkäfer" - vom Aussterben bedroht: http://www.kerbtier.de/Pages/Fotos/FotoLargeN/Scarabaeidae/Protaetia-aeruginosa-n.jpg

    Kommentar von Bugman BugmanBugman

    naja vom Aussterben bedroht nicht unbedingt. So werden sie gelistet aber sie kommen doch noch recht regelmäßig vor, wo ein geeignetes Habitat besteht.

  • 1
    PHP Echo funtzuniert nicht
    Antwort von Elroy7000 Elroy7000

    Interessant wäre es zu sehen wie du die Daten aus der Datenbank ausliest und wie du die Variablen definierst.

    Mit den Informationen du uns hier bietest kann ich nur sagen das du anscheinend irgend etwas falsch machst.

  • 0
    Mysql Injection Progr.
    Antwort von Sucellus Sucellus

    Gibt es natürlich: w3af (http://w3af.sourceforge.net/), skipfish, etc.

    Empfehlenswert ist es aber schon bei der Programmierung gar nicht erst solche Fehler zu machen. Niemals Daten die der Nutzer beeinflussen kann ungeprüft an DB-Server/andere Clients/etc. schicken.

  • 1
    Mysql Injection Progr.
    Antwort von foxy22 foxy22

    Nein. Erfahrung und Wissen. Damit checkst du das. Oder du bezahlst jemanden dafür, der dir das macht.

    Aber da heute eh jeder alles kostenlos im Internet haben will. Nein.

  • 0
    Mysql Injection Progr.
    Antwort von nullEuro nullEuro

    Ja gibts, aber ich würde eher den Quellcode anschauen bzw. gleich vernünftig programmieren um SQL injections auszuschliessen

    Kommentar von foxy22 foxy22foxy22

    Auf diese Pages würde ich mich aber wenns drauf ankommt definitiv nicht verlassen.

    Kommentar von nullEuro nullEuronullEuro

    Jepp, sage ich ja. Lieber ne sql Klasse basteln die alles selbst escaped und fertig.

    Kommentar von Kritsch1994 Kritsch1994Kritsch1994

    danke vielen dank :)

  • 0
    Problem mit mysql und php
    Antwort von Anton82 Anton82

    Welche Code Zeile ist denn bei dir line 54? Ausserdem hast du einmal $REQUEST anstelle von $_REQUEST benutzt.

  • 0
    Problem mit mysql und php
    Antwort von Babelfish Babelfish

    Wie Nerdworld schon schreibt, niemals übergebene Werte direkt in einer Datenbankabfrage schreiben!!! Zur Fehlersuche solltest du dir selber mal die Zeile 54 anschauen, wo du irgendwo eine nicht vorhanden Array-Index ansprichst. An dem hier geposteten Code liegt das vermutlich nicht und außerdem fehlen da einige Unterstriche, da du den Code nicht als Quelltext gekennzeichnet hast. Längere Quelltexte dann bei pastbin.com oder snipt.org posten.

  • 1
    Problem mit mysql und php
    Antwort von Nerdworld Nerdworld

    Poste den Code mal bei Pastebin, ist hier nicht lesbar.

    Grundsätzlich: mysqlrealescape als Schutzmaßnahme benutzen, und auf $REQUEST verzichten, stattdessen $POST oder $_GET benutzen.

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.