Zum Inhalt springen

MYSQL DB über PHP bearbeiten


grünschnabel

Empfohlene Beiträge

Hallo Leute,

wer kann bitte einem alten Herrn auf die Sprünge helfen ?!

Bin froh, das ich meine erste kleine Test DB über die Serverplattformeigene Verwaltung anlegen und extern über PHP zumindest im Webseitenabruf korrekt auslesend zur Anzeige bringen konnte.

Bin auf beiden Gebieten ohne Ahnung völlig "grün" hinter den Ohren und suche hier um konkrete PHP Code Unterstützung, wie ich am Beispiel meiner Testdatenbank, die lediglich aus 2 Zeilen besteht, am Ende eine neue Zeile einfügen und mit Werten ausfüllen kann.

Meine Datenbank Tabelle hat den Namen "Artikel" und ist lediglich mit 2 Feldern / Spalten unter den Namen "Bezeichnung" und "Preis" ausgefüllt mit den klangvollen Inhalten

der Zeile 1 Tomaten = € 2.95

der Zeile 2 Bananen = € 1.95

Gewünscht ist die Erweiterung

als Zeile 3 Erdbeeren = € 3.45

Folgende Einwahl / Zugang zur Datenbank / Tabelle funktioniert wie gesagt bei der o.g. Tabellendatenauslese.

<?php 
mysql_connect("Host","Benutzername","Passwort");

$result = mysql_list_fields("Datenbankname","Tabellename"); //letzteres also "Artikel"

// der nachfolgende Code funktioniert nicht !

$INSERT INTO "Artikel"( "Bezeichnung", "Preis" );
$VALUES ("Erdbeeren","3.45");

?>[/PHP]

[color=Blue]Sollte mir diese Möglichkeit umzusetzen sein, dann würde ich abschließend in meinem Lernprozess der kleinen Testdatenbank auch einen PHP Code anwenden, der mir ein "Durchsuchen" der Tabelle erlaubt, also z.B. nach dem Eintrag "Bananen" und im vorliegenden Tabelleneintrag dies auch zumindest als "true" oder "false", besser mit dem dazugehörigen kompletten Zeileninhalt auswirft ( hier am Beispiel somit nur der Preis )[/color]

insofern auch hier an meinem Beispiel um eine konkrete Ausführung gebeten wird.

[b]Besten Dank für Euere Aufmerksamkeit[/b]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die Links,

sind aber leider für so einen "alten Sack" wie mich nur schwer im Verständnis sofort umzusetzen und benötigt eine längere Einarbeitungszeit.

So finde ich z.B. im PHP Handbuch, das hier wohl bei den von mir als Insert genutzen Code zuvor mysql_query eingebunden werden muss, nur ohne weitere Begriffserklärungen schwer nachzuvollziehen, wie im Handbuch ausgewiesen:

mysql_query("INSERT INTO mytable (product) values ('kossu')");

kann ich zwar erraten, das hier in dem Begriff "mytable" auf meine Tabelle bezogen die Angabe Artikel zu verwenden wäre und beim value "kossu" ggf. meine "Erdbeeren" oder Preis "3.45" .... und dann verlassen mich aber auch schon meine Geister,

kann ich den in Klammern gesetzten Begriff "product" nicht zuordnen, auch im Versuch von

mysql_query("INSERT INTO Artikel (Bezeichnung) values ('Erdbeeren')");

passiert hier nichts.

Ist für den Einstieg einfach zu schwierig, insofern die konkrete Lösungshilfe angefragt war, mit der dann so ein alter "Grünschnabel in Sachen SQL + PHP) die Handbuch Tutorials u.ä. sicherlich bersser verfolgen könnte.

Dennoch waren die Links super,

muss ich mich halt "durchbeißen", wenn sonst hier nichts weiteres eingehen sollte.

Auf jedenfall mein Dankeschön !

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Keil,

das ist auch recht gut und eigentlich einfach zu verstehen, hier der Auszug:

INSERT INTO

News(Autor, Titel, Inhalt, Datum)

VALUES

("Ich",

"Meine erste News",

"Hiermit teste ich wie man Datensätze in MySQL einfügt",

NOW());

Auf meine Tabelle sofort umsetzbar, also

INSERT INTO

Artikel(Bezeichnung, Preis)

VALUES

("Erdbeeren",

"3.45",

NOW());

nur als

<?PHP
INSERT INTO
Artikel(Bezeichnung, Preis)
VALUES
("Erdbeeren",
"3.45",
NOW());
?>[/PHP]

[b]funktioniert das nicht ![/b]

Der Link ist wohl "nur" ein SQL Tutorial zur Befehlsumsetzung innerhalb der ureigenen SQL Plattform wie unter dem Telekom Service Paket gedacht ?!

[b]Trotzdem vielen Dank ![/b]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hu,

mysql_query sendet eine MySQL-Anweisung. Dies ist also nötig wenn Du z.B. Daten auslesen/bearbeiten/.. willst.

Ich bin auch nicht so fit, aber ich glaube Du musst alle Felder angeben wenn Du ein INSERT machen willst:


mysql_query("INSERT INTO Artikel (Bezeichnung,Preis)
VALUES('Erdbeeren','3')");
[/PHP]

Du musst auch auf die Datentypen achten die Du in der Tabelle vergeben hast!

Wenn das Feld "Integer" ist, kannst Du schlecht einen Text hinzufügen..

Schreib mal in die erste Zeile, also direkt nach <? oder <?php folgendes:

[PHP]
error_reporting(E_ALL);

Dann werden dir alle anfallenden Fehler ausgegeben!

Hoffe das hilft ein bisschen.

Gruß

Marcel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ich bin leider auch noch ein Grünschnabel was php & MySQL angeht, aber vielleicht hilft Ihnen folgender Code weiter:

<?php

$eintrag = "INSERT INTO Artikel

(Tomaten, Bananen)

VALUES

('€ 2.95', '€ 195')";

$eintragen = mysql_query($eintrag);

?>

Um zu prüfen ob der Eintrag gespeichert wurde, kann mein eine if-Anweisung verwenden:

<?php

if($eintragen == true)

{

echo "Eintrag war erfolgreich";

}

else

{

echo "Fehler beim Speichern";

}

?>

Dieses Beispiel habe ich von der Seite PHP-Einfach.de - PHP lernen leicht gemacht

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo LoehnenGate,

vielen, vielen Dank für Deinen Beitrag !!!

Über Deinen Linkverweis + andere hatte ich mich auch schon "schlau" gemacht - ohne Erfolg, wobei einige Ausführungen noch komplexer waren,

z.B: Kapitel 5. Zend_Db der hier so wie es aussieht vom Autor wohl versehendlich öffendlich über allgemeine Googlesuche zugänglich ist, der angepasste Quellcode jedoch auch nicht funktionierte (auch nach manueller Datenbankeinsicht über die Telekomplattform MyAdmin keine Zeilenzufügung zu vermerken war ), s.d. ich im momentanen Stress einer Krankenbetreuung das ganze ersteinmal zur Seite gelegt hatte und das Thema nur durch Die E-Mail Weiterleitung meine erneute Aufmerksamkeit erreichte.

Natürlich funktioniert Dein Code zu 100%, insofern meinen besten Dank für Deine Bemühung,

wobei wenn man sich das aufwendigere Gerüst von Zend anschaut, wo zumindest dem Sachverstand nach in der präzisen Eintragszuordnung zur Letzten Zeile anhängend die sicherere Lösungsanwendung ( wenn es funktionieren würde ) greifbar erscheint ist festzustellen,

das im Zugriff Deines Vorschlages der Neueintrag zumindest bei mir outomatisch der letzten Zeile der Tabelle angehängt wird.

Der Fehler lag wohl hauptsächlich in meiner Kontrollabrufzuwendung des test.php codes gem. dem in der Themeneröffnung gestellten Form, werden dort ja auch nur 2 Zeilen ausgelesen, s.d. ich den 3. Neuantrag darüber nicht erfasst ja auch nicht sehen kann.

Insofern möchte ich mich hiermit auch bei allen Beteiligten für meine "Schusseligkeit" entschuldigen, aber vielleich könnt ihr das einem "alten Herrn" im Stress seiner momentanen Krankenbetreuung nachsehen.

Jedenfalls hat mich Deine Antwort ein großes Stück weitergebracht, kann ich jetzt auch den SQL Befehlen im allgemeinen mehr Sachverstand abgewinnen.

Na, ja, wie sagt man so schön:

Erst die grauen Haare, dann die Augen, dann... , Gott sei dank benötige ich zumindest dafür noch keine Hilfe und erfreue mich des Lebens nunmehr zuversichtlich auch im Umfeld der PC "Ungereimtheiten" dank Eueres Engagementes mit weiteren vergnügerlichen Bildschirmstunden.

Besten Dank an Alle !

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zum auslesen eignet sich übrigens diese Methode eher:


$sql = mysql_query("SELECT * FROM TABELLE")
while($auslesen = mysql_fetch_array($sql)){
echo $auslesen[feldname];
}
[/PHP]

Hoffe das wird klar, für jeden Eintrag in deiner Tabelle wird das echo ausgeführt, wenn Du also 2 Einträge hast 2 mal. Natürlich kannst Du bei dem Select noch weitere Optionen wie z.B. das Sortieren hinzufügen.

Zusätzlich solltest Du mit ID's arbeiten!

ID | Bezeichnung | Preis

Und das auto_increment und den primary_key bei dem Feld ID nicht vergessen, so wird bei jedem neuen Eintrag automatisch die ID um 1 erhöht. Das macht das Arbeiten später leichter.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...