SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 06.06.2003, 17:11:02
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
Daten in SQL-Datenbank schreiben, nur wie

Hallo,

ich hoffe Ihr könnt mir ein wenig unter die Arme greifen.

Ich habe hier ein bestehendes Kontakt-Formular das ich zu einem Anmelde-Formular für kleine LAN's umbauen möchte.

Das Formular nach meinen Wünsch anzupassen war kein Problem un hätte ich gerne das wenn sich jemand anmeldet diese Daten in einer Datenbank abgelegt werden die ich dann wieder in einer Liste ausgeben möchte wo alle Teilnehmer aufgeführt sind.

Konfiguration der SQL-Datenbank:

DB-Name = anmeldung
tabelle = lanparty
hier Spalten mit "id, name, vorname, email" angelegt.

id -> Typ int(10) -> Null nein -> Extra auto_increment
name -> varchar(50) -> Null nein
vorname -> varchar(70) -> Null nein
email -> varchar(70) -> Null nein


Im Anmeldeskript werden die Daten an den Webmaster und an den User per e-Mail gesendet hier werden auch Variablen verwendet:
$Name
$Vorname usw..

zum Eintrag in die Datenbank Folgender Aufruf:
PHP-Code:
//Daten in die Datenbank speichern
include("./inc/zugriff.inc.php");
$sql="INSERT INTO $table (name) VALUES ($Name)";
mysql_query($sql);
$sql="INSERT INTO $table (vorname) VALUES ($Vorname)";
mysql_query($sql);

//Datenbankverbindug schließen
mysql_close(); 
Bin ich da total am falschen Dampfer???
Es werden keine Fehler angezeigt!!

Die Verbindung wird woh ohne Probleme hergestellt da beim include kein Fehler auftritt.

Hoffe Ihr könnt mir Helfen!!

Gruß
Alex
Mit Zitat antworten
  #2  
Alt 06.06.2003, 17:33:51
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Ein großes Lob an Dich: Wenn jeder seine Probleme so wunderbar formulieren und alle nötigen Infos aufführen würde, wie Du, dann wäre so manche Frage schneller beantwortet. :)

Du hast in der DB eingestellt, dass kein Feld leer bleiben darf. Du fügst aber in jeder Abfrage nur einen Wert ein, heißt, dass Felder leer bleiben. MySQL verweigert das. Logisch.
Fehler werden keine angezeigt, weil Du es ihm nicht gesagt hast, dass er das soll.
Angepasstes Beispiel:
PHP-Code:
$sql="INSERT INTO $tabelle (name, vorname, email) VALUES ('$name', '$vorname', '$email')";
$result=mysql_query($result);
if (!
$result) echo mysql_error($Dein_Datenbankhandle_das_bei_der_Verbindung_zur_DB_angegeben_wurde); 
Die Werte hinter VALUES stehen in ', weil der Typ der Felder, in die der Inhalt soll vom Typ Text ist und Zeichenketten immer in Hochkomma stehen müssen. Ergo: Bei Zahlen keine.
Die if-Abfrage sorgt dafür, dass, wenn $result kein Ergebnis bekommen hat, die Fehlermeldung angezeigt wird, die mySQL ausgespuckt hat.

So. Alles klarofix? Geht's? Und überhaupt?
__________________
sic!
--> http://dbCF.de/

Geändert von ­c­4­ (06.06.2003 um 17:35:59 Uhr)
Mit Zitat antworten
  #3  
Alt 06.06.2003, 17:55:15
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
Danke erst mal an die super schnelle Antwort!!

Naja, ich möchte ja das mir geholfen wird und da ich auch noch in anderen Foren aktiv bin weiß ich wie schwer es manchmal ist wenn nur da steht "Hab ein Problem, geht nicht, warum??"

So nun muß ich doch sagen das ich in Sachen PHP&SQL voll Newbi bin!! Was meinst mit
$Dein_Datenbankhandle_das_bei_der_Verbindung_zur_DB_angegeben_wurde);

???

Sorry für die vielleicht blöde Frage.

Wenn es nötig sein sollte kann ich das komplette Script mal als Text-Datei anhängen.

Gruß
Alex
Mit Zitat antworten
  #4  
Alt 06.06.2003, 18:02:20
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hi AlexD,

wie c4 geschrieben hat, musst Du die Variablen in ' packen, und alle Daten aufeinmal in die Datenbank schreiben, sonst bekämst Du mehrere Datensätze, in denen dann nur ein Name oder Vorname etc. stehen würde.

@c4
Hallo,
ich denke das mit dem "Null Nein" ist nicht das Problem, sondern eher die Hochkommatas. Aber ich will mich als Frischling in diesem Forum nicht mit einem SeniorMember anlegen :-)
Respekt für Eure Arbeit!

Grüsse und schöne Feiertage

chris17
Mit Zitat antworten
  #5  
Alt 06.06.2003, 18:03:20
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Zitat:
Aber ich will mich als Frischling in diesem Forum nicht mit einem SeniorMember anlegen :-)
Vergiss das! Nur weil einer 3 oder 4 Posts mehr hat, heißt das ja nicht, dass er nicht irrt! Also, ruhig fertig machen! ;)


Zum Problem.
Beispielskript connect_sql.php:
PHP-Code:
<?php
 
// test, ob Skript online oder lokal läuft
 // wenn online
 
if (strstr(strtolower($_SERVER["SERVER_NAME"]),"dbcf.de"))
  {
   
// adresse des db-servers
   
$host="mysql6.webpack.hosteurope.de";
   
// nutzername
   
$user="xyz";
   
// passwort
   
$password="zyx";
   
// datenbankname
   
$dbase="dbcf_de";
  }
 
// wenn lokal
 
else
  {
   
$host="127.0.0.1";
   
$user="";
   
$password="";
   
$dbase="abkuerzungen";
  }

 
// zum db-server verbinden
 // $linkdb ist ab sofort das datenbank-handle (auch pointer)
 
$linkdb=@mysql_connect($host$user$password);

 
// wenn verbindung erfolgreich, dann db auswählen
 
if ($linkdb) {mysql_select_db($dbase$linkdb);}
?>
Das jetzt auf das Skript von oben bezogen und sauberer programmiert:
PHP-Code:
<?php
include('connect_sql.php');
$sql="INSERT INTO $tabelle (name, vorname, email) VALUES ('$name', '$vorname', '$email')";

$result=mysql_query($sql$linkdb);
if (!
$result) echo  mysql_error($linkdb);

mysql_close($linkdb);
?>
__________________
sic!
--> http://dbCF.de/

Geändert von ­c­4­ (06.06.2003 um 18:06:42 Uhr)
Mit Zitat antworten
  #6  
Alt 06.06.2003, 19:23:40
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
Wenn ich heute noch dazu komme test ich das noch....

das Ergebins sag ich Euch dann auch!! ;)

Muß schon sagen, hier wird einem sehr fix geholfen!!
Wenn das überall so wäre....

Gruß
Alex

P.S.: Respekt vor Leuten die in PHP so fit sind!!
Mit Zitat antworten
  #7  
Alt 07.06.2003, 12:48:41
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
Hi c4,

also ich kann nun meine Datenbank befüllen!!

mit dem "$linkdb" , da bin ich ja voll auf der Leitung gesessen!! sorry.

Super hilfe hier!


So nun werd ich mich mal an das Scirpt machen das die Datenbank dann wieder aus liest.
Da ich wie Ihr schon bemerkt habt nicht wirklich viel Ahnung von PHP und SQL hab geh ich das langsam an und hoffe das ich Eure Hilfe dann wieder in anspruch nehmen darf. ;-)

Ihr hört sicher noch von mir *grins*

Alex
Mit Zitat antworten
  #8  
Alt 08.06.2003, 11:59:23
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
Jetzt bin ich schon so weit

Ich schreib das hier einfach in den Thread....

So Daten werden einwandfrei in die DB geschrieben.

Zum Auslesen der Daten gehts ja in etwa so:

PHP-Code:
<?php
include('connect_sql.php');
$sql="SELECT name, vorname, email, usw..     FROM lanparty";
$liste=mysql_query($sql$db);

mysql_close($db);

?>
Das ganze hab ich mal unter teilnehmer.php abgespeichert.

Wenn ich die so mal aufrufe, dann kommt folgender Fehler:
Parse error: parse error, unexpected T_VARIABLE in C:ProgrammeJana2htmlhp_neuhtmlnetzwerksessionanmeldungliste.php on line 11

die Zeile 11 enspricht:
$sql="SELECT name, vorname, email ..... FROM lanparty";

Zur Datenbank:
Datenbankname: anmeldung
Tabelle: lanparty
Spalten: name, vorname........

Es soll in PHP vorerst nur die DB als Liste ausgegeben werden.

Dank Euch scho mal für die Hilfe.

Gruß
Alex
Mit Zitat antworten
  #9  
Alt 08.06.2003, 12:02:26
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Unter teilnehmer.php hast Du den Quältext gespeichert, PHP sagt aber, dass der Fehler in liste.php ist. Da musst Du schon in der angegebenen Datei suchen... ;)
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #10  
Alt 08.06.2003, 12:52:36
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
Ups....

sorry, liste.php ist teilnehmer.php!!

ich hab die liste.php kurz vor dem Posting in teilnehmer.php umgetauft!!

Der Fehler ändert sich jedoch nicht :(

Parse error: parse error, unexpected T_VARIABLE in C:ProgrammeJana2htmlhp_neuhtmlnetzwerksessionanmeldungteilnehmer.php on line 11


Das ich mit den Quältexten noch "etwas" probs hab muß ich zugeben! ;)
Die Frage ist nur wer hier wen "quält". :)

aus der teilnehmer.php mit den Zeilennummern.
PHP-Code:
8  //Verbinung zu Datenbank herstellen
9  include("connect_sql.php")
10
11 $sql
="SELECT name, vorname, email FROM lanparty";
12 $liste=mysql_query($sql$db);
13
14 mysql_close
($sql$db); 
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:25:05 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt