php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.02.2007, 21:42  
Benutzer
 
Registriert seit: 03.09.2005
Beiträge: 95
TaStEn befindet sich auf einem aufstrebenden Ast
Standard SQL Datenbank eintrag funktioniert nicht!

hi an alle,
was mache ich falsch hängt es an den Rechten wenn ja wie ändert man diese ?
Ich versuche in die Datenbank etwas hineinzuschreiben jedoch funktioniert es nicht was ist daran falsch:

Code:
<?php
$dbsever ="lokalhost";
$nutzer ="***";
$passwort ="***";

$dbname ="***";
$db_fehler="ohohoh nein!";

//.........................................................................
// verbindung herstellen
$db = mysql_connect ($dbsever, $nutzer, $passwort);

// Tabelle in Datenbank erstellen
$SQL_Befehl = "CREATE TABLE Mitglied (
MitgliedID INTEGER NOT NULL AUTO_INCREMENT,
MitgliedVorname CHAR(40),
MitgliedNachname CHAR(40),
Aufgabe CHAR(40),
Geburtsdatum DATE,
PRIMARY KEY (MitgliedID)
)";
if (mysql_db_query($dbname, $SQL_Befehl)) {
echo "Tabelle erzeugt!";
}
mysql_close($db);

//.........................................................................
// Daten eintragen
$db = mysql_connect ($dbsever, $nutzer, $passwort);

$SQL_Befehl ="";
$SQL_Befehl = "
INSERT INTO Mitglied VALUES (
’’,
’Matthias’,
’Kannengiesser’,
’Leitung’,
’1974-11-20’
)";
// Datensatz hinzufügen

echo"-> $dbname,$SQL_Befehl";
$resultat = mysql_db_query($dbname, $SQL_Befehl);
if (mysql_db_query($dbname, $SQL_Befehl)) {
echo "Datensatz erfolgreich hinzugefügt!";
}
else
{
 echo"nein";
}
mysql_close($db);
//.........................................................................
// Daten bearbeiten
$db = mysql_connect ($dbsever, $nutzer, $passwort);
$SQL_Befehl ="";
$SQL_Befehl = "
UPDATE Mitglied
SET Aufgabe = ’Chef’
WHERE MitgliedNachname = ’Mustermann’
";
// Datensatz Bearbeitung durchführen

echo"-> $dbname";
if (mysql_db_query($dbname, $SQL_Befehl)) {
echo "Anzahl geänderter Datensätze: " . mysql_affected_rows($db);
}
else
{
 echo"nein2";
}
mysql_close($db);
//.........................................................................
// Daten löschen
/*
$SQL_Befehl = "

DELETE FROM Mitglieder
WHERE MitgliedNachname = ’Kannengiesser’ AND Geburtsdatum = ’1974-11-20’
";
// Datensatz-Löschvorgang durchführen
$resultat = mysql_db_query($dbname, $SQL_Befehl);
if ($resultat) {
echo "Anzahl gelöschter Datensätze: " . mysql_affected_rows($db);
}
 */

//.........................................................................
// Daten ausgeben


// Datensatz-Ausgabe festlegen
$db = mysql_connect ($dbsever, $nutzer, $passwort);
$SQL_Befehl ="";
$SQL_Befehl = "SELECT * FROM Mitglied";
// Datensatz-Ausgabe durchführen
$resultat = mysql_db_query($dbname, $SQL_Befehl);
echo"-> $dbname";
echo mysql_result($resultat, 0); // 1
echo mysql_result($resultat, 0, 1); // Matthias
echo mysql_result($resultat, 0, 2); // Leitung

mysql_close($db);
?>
danke für jede antwort bin schon den ganzen tag dran...

grüße markus

Edit by Zergling: keine Ahnung ob die Zugangs-Daten schon verfälscht waren, sicher ist sicher, nun sind sie es!
TaStEn ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.02.2007, 21:52  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Wärst du so freundlich und würdest uns verraten, was nicht funktioniert? Normalerweise gibt sich PHP durchaus auskunftsfreudig (setze dazu bitte an den Anfang des scripts, welches du aufrufst, "error_reporting(E_ALL);"
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 27.02.2007, 21:55  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Was heißt "funktioniert nicht"?

Fehlermeldungen? Klappt die Verbindung zur Datenbank? Was sagt mysql_error()? Bist du dir sicher, dass "lokalhost" (und nicht "localhost") richtig ist?
Warum schließt du zwischendrin die Verbidung, warum führst du macneh Querys doppelt aus? Warum veerwendest du mysql_db_query() statt mysql_query() und mysql_select_db() wie es im Manual vorgeschlagen wird?
etc. pp...
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 27.02.2007, 22:24  
Benutzer
 
Registriert seit: 03.09.2005
Beiträge: 95
TaStEn befindet sich auf einem aufstrebenden Ast
Standard

hier die verbesserung + fehlermeldungen die angezeigt werden:

PHP-Code:
<?php
error_reporting
(E_ALL);
$dbsever ="localhost"
$nutzer ="***";
$passwort ="***";

$dbname ="***";
$db_fehler="ohohoh nein!";

//.........................................................................
// verbindung herstellen
$db mysql_connect($dbsever$nutzer$passwort);

// Tabelle in Datenbank erstellen
$SQL_Befehl "CREATE TABLE Mitglied (
MitgliedID INTEGER NOT NULL AUTO_INCREMENT,
MitgliedVorname CHAR(40),
MitgliedNachname CHAR(40),
Aufgabe CHAR(40),
Geburtsdatum DATE,
PRIMARY KEY (MitgliedID)
)"
;
if (
mysql_db_query($dbname$SQL_Befehl)) {
echo 
"Tabelle erzeugt!";
}


//.........................................................................
// Daten eintragen


$SQL_Befehl ="";
$SQL_Befehl "
INSERT INTO Mitglied VALUES (
’’,
’Matthias’,
’Kannengiesser’,
’Leitung’,
’1974-11-20’
)"
;
// Datensatz hinzufügen



if (mysql_db_query($dbname$SQL_Befehl)) {
echo 
"Datensatz erfolgreich hinzugefügt!";
}
else
{
 echo
"nein";
}

//.........................................................................
// Daten bearbeiten

$SQL_Befehl ="";
$SQL_Befehl "
UPDATE Mitglied
SET Aufgabe = ’Chef’
WHERE MitgliedNachname = ’Mustermann’
"
;
// Datensatz Bearbeitung durchführen


if (mysql_db_query($dbname$SQL_Befehl)) {
echo 
"Anzahl geänderter Datensätze: " mysql_affected_rows($db);
}
else
{
 echo
"nein2";
}

//.........................................................................
// Daten löschen
/*
$SQL_Befehl = "

DELETE FROM Mitglieder
WHERE MitgliedNachname = ’Kannengiesser’ AND Geburtsdatum = ’1974-11-20’
";
// Datensatz-Löschvorgang durchführen
$resultat = mysql_db_query($dbname, $SQL_Befehl);
if ($resultat) {
echo "Anzahl gelöschter Datensätze: " . mysql_affected_rows($db);
}
 */

//.........................................................................
// Daten ausgeben


// Datensatz-Ausgabe festlegen

$SQL_Befehl ="";
$SQL_Befehl "SELECT * FROM Mitglied";
// Datensatz-Ausgabe durchführen
$resultat mysql_db_query($dbname$SQL_Befehl);

echo 
mysql_result($resultat0); // 1
echo mysql_result($resultat01); // Matthias
echo mysql_result($resultat02); // Leitung

mysql_close($db);
?>
Dies habe ich jetzt geändert ! Jedoch zeitgt er folgende Fehlermeldung an:

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 2 in /pages/00/88/d0005052/home/htdocs/sql/db.php on line 107

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 2 in /pages/00/88/d0005052/home/htdocs/sql/db.php on line 108

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 2 in /pages/00/88/d0005052/home/htdocs/sql/db.php on line 109

denke das bedeutet in der Tabelle steht nichts drin jedoch weis ich nicht warum er nichts einträgt.

Bemerkung: Die Tabellen selbst wird angelegt in der Datenbank das wird angezeigt ...

Gruß

Edit by Zergling: hier das selbe, bitte nächstes mal selbst machen. Deine IP ist nicht geheim und es ist einfach unnötig die Daten mitzuschicken
TaStEn ist offline  
Alt 27.02.2007, 22:55  
Benutzer
 
Registriert seit: 03.09.2005
Beiträge: 95
TaStEn befindet sich auf einem aufstrebenden Ast
Standard

okay fehler gefunden

ich musste lediglich´´ - Zeichen durch diese ' ersetzen

so muss es aussehen $SQL_Befehl = "INSERT INTO Mitglied VALUES('','Matthias','Kannengiesser','Leitung','19 74-11-20')";



danke an alle gruß
TaStEn ist offline  
Alt 27.02.2007, 22:58  
Erfahrener Benutzer
 
Registriert seit: 16.01.2007
Beiträge: 134
DarkManX
Standard

denke kaum, dass du ein "php fortgeschrittener" bist...
http://de2.php.net/mysql_error
DarkManX ist offline  
Alt 27.02.2007, 23:11  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Und zur Not darf man sogar das Ergebnis von mysql_query auf einen Fehler prüfen anstatt einfach Schönwetterprogramme zu basteln.

Und wenn ich mich recht erinnere, sollte man mysql_db_query() gar nicht mehr verwenden.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 28.02.2007, 00:09  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von Der_Gerhard
Und wenn ich mich recht erinnere, sollte man mysql_db_query() gar nicht mehr verwenden.
Richtig:
http://de.php.net/manual/de/function.mysql-db-query.php
Zitat:
Anmerkung: Diese Funktion ist seit PHP 4.0.6 veraltet. Verwenden Sie diese Funktion nicht. Stattdessen sollten Sie die Funktionen mysql_select_db() und mysql_query() verwenden.
So ganz weit weg ist PHP 6 nämlich auch nicht mehr und wer weiß was dann alles rausfliegt.
Einerseits wärs toll, wenn alles überflüßige rausfliegt, andererseits wird dann das Forum eingerannt wie damals mit register_globals. Das ist ja zum Glück auch etwas abgeebt.
Zergling-new ist offline  
Alt 28.02.2007, 00:15  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

"damals" mit register_globals, ja, schön wärs -.-

Aber soweit ich das verstanden habe, wollten sie diesmal ausnahmsweise in PHP6 erstmal schön Kahlschlag machen. Kann ja nicht angehen, dass Funktionen über mehrere Toplevel-Versionen hinweg mitgezogen werden, obwohl so schon seit 2 Jahren veraltet sind.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 28.02.2007, 00:27  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

http://de.php.net/manual/de/function.mysql-db-query.php
Zitat:
Anmerkung: Diese Funktion ist seit PHP 4.0.6 veraltet
http://www.php.net/ChangeLog-4.php
Zitat:
Version 4.0.6
23-Jun-2001
2 Jahre? Das war vor dem 11. September, mein Gott, als 4.0.6 rauskam bin ich grad in die 13. gekommen und seit der Zeit hab ich ne Ausbildung gemacht und bin jetzt im 5. Semester.

Die übertreibens bei PHP einfach gnadenlos!
PHP 6 muss ein Kahlschlag werden!
Zergling-new ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
schribt nichts in die datenbank Cheesy92 PHP Tipps 2006 9 27.10.2006 14:03
Eintrag in die Datenbank klappt nicht tayke PHP Tipps 2006 16 15.04.2006 18:16
Zugriff auf letzte id in der Datenbank PHP Tipps 2005-2 2 25.10.2005 11:30
Eintrag wird nicht eingetragen (Kontrollfunktion lügt?) PHP Tipps 2005-2 0 02.10.2005 12:00
checkboxen, problematik beim Datenbank eintrag PHP Tipps 2005-2 3 02.09.2005 20:51
per E-Mail link ein Datenbank eintrag Datenbanken 16 26.08.2005 19:13
Mehrere Anwendungen eine Datenbank... Datenbanken 5 15.08.2005 11:22
Datenbank funktioniert nach Acount-Wechsel nicht mehr! Datenbanken 5 11.02.2005 21:15
Auslesen aus der Datenbank nixdorf PHP Tipps 2005 7 06.02.2005 21:40
Eintrag in Datenbank PHP Tipps 2004-2 4 27.12.2004 22:19
Eintrag in Datenbank mittels Formular? Datenbanken 5 16.12.2004 17:36
Eintrag in MySQL datenbank Tschuu PHP Tipps 2004-2 3 14.12.2004 17:02
[Erledigt] MySQL findet Datenbank nicht Datenbanken 10 21.10.2004 09:14
Datenbank Abfrage mit Unterseiten pro Eintrag PHP Tipps 2004 6 14.10.2004 16:05
wo ist der Fehler? Eintrag aus Datenbank löschen Ente PHP Tipps 2004 2 24.08.2004 15:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mit sql datenbank verbinden, sql eintrag wird doppelt hinzugefügt obwohl ein insert, register_globals mysql_db_query

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.