Per PHP SQL befehle eintragen

  • Hallo,
    ich habe mal wider ein Problem. Ich würde gerne per php Seite SQL Befehle an die Datenbank übermitteln.

    PHP
    INSERT INTO `Name` (`Vorname`, `Nachname`) 
    VALUES('Hans', 'Gruber'),

    Ich habe leider keinen Plan wie ich dieses anstellen soll. WEnn ich das Web durchsuche find ich leider immer nur Beiträge, wie man vorhandene einträge editiert. Gibt es für diese einfügen eine besondere Bezeichnung? Wäre nett wenn jemand ein Tutorial oder einen kleinen Code senden könnte, wie ich das am besten anstelle.

    Mfg Fussl1

  • In dieser Reihenfolge:

    http://de2.php.net/manual/de/function.mysql-connect.php
    http://de2.php.net/manual/de/function.mysql-select-db.php
    http://de2.php.net/manual/de/function.mysql-query.php
    http://de2.php.net/manual/de/function.mysql-error.php

    Wobei ich langsam aber sicher eher auf die MySQLI-Extension umsteigen würde

    WEnn ich das Web durchsuche find ich leider immer nur Beiträge, wie man vorhandene einträge editiert.


    Eine wirklich blöde Ausrede, die dir niemand glaubt.

    Wenn ich mal erwähnen darf:
    Am 19.01.2011 schlägst du mit deiner ersten MySQL-Frage hier auf und heute kommst du mit einem simplen Insert an. Was hast du in den letzten 13 Monaten gemacht? Bestimmt nix mit PHP/MySQL, oder?

    2 Mal editiert, zuletzt von Bandit (16. Februar 2012 um 19:24)

  • dass ist ja der normal aufbau zu einer datenbank womit ich dann Daten ein und ausgeben kann. Wenn ich es so machen kann ich ja nur einzelne Felder einfügen und anschauen. ich würde es aber gerne so wie bei MySQl Hauptseite eintragen. Ich find leider keinen weg wie ich dass mache.

  • Ähm, so wirklich verstehe ich dich nicht.

    Du willst ein Eingabe-Feld, in dem du SQL-Befehle eingeben kannst, die dann ausgeführt werden? So w.z.B. bei phpMyAdmin?

  • Und wo ist jetzt dein Problem? Baue ein Formular mit einem Eingabefeld und schreibe ein Script, dass die Daten entgegen nimmt und ausführt. Es wäre nicht schlecht, wenn man noch einen SQL-Syntax-Parser dazwischen baut, aber wenn man mit Fehlermeldungen von MySQL leben kann, dann einfach immer mit mysql_errno und mysql_error nach jedem mysql_query arbeiten.

  • Das Formular und Script habe ich so weit zum laufen gebracht. Jedoch kann ich keine kompletten Datensätzen mit Namen einfügen da ich diese in einfachen Anführungszeichen setzten muss. Mit Backticks funktioniert es es leider nicht. GIbt es ne möglichkeit dieses zu umgehen?

  • Mit Backticks funktioniert es es leider nicht.


    Tolle Problembeschreibung. :( Was funktioniert nicht?

    Ohne Quellcode kann man dir sowieso nicht helfen, außer

    Richtig debuggen

    • Man bemerkt, dass ein Skript nicht das tut, was es soll.
    • Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    • Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    • Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    • An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    • Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    • Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    • Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    • Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
  • sorry, hab den fehler selbst gefunden. hatte vergessen mysql_real_escape_string einzusetzten und dort gab er mir lauter fehler aus. Aber ich danke dir dass du immer so schnell hilfst :) Danke