php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.10.2006, 14:21  
Neuer Benutzer
 
Registriert seit: 17.07.2006
Beiträge: 13
Cheesy92
Standard schribt nichts in die datenbank

Hallo liebe Comunity.
Ich bin gerade dabei ein Chat zu basteln. die user sollen alle in die datenbank eingetragen werden, nur machen sie das nicht.
PHP-Code:
// variablendaten ermitteln
 
$sql1 "SELECT cname FROM chatter where chat ='freunde' and cname='".$_POST[cname]."'";
 
$bg mysql_query($sql1) OR die(mysql_error());
 
$zeilen mysql_num_rows($bg);
                         
                           
//wenn nein aber der benutzer schon drin steht dann passiert nixx
                           
if($zeilen == 1){
                              echo 
"null^^";



                            }
                            
//wenn der user ncoh nicht drin stht wird ein neueintrag gemacht..
                            
else {
$sql "INSERT INTO `chatter` ( `id` , `cname` , `chat` , `kick` , `rechte` , `IP` , `logout` )
VALUES (
'', '"
.$_POST[cname]."', 'freunde', '0', '".$_POST[rechte]."', '".$_SERVER['REMOTE_ADDR']."', '0000-00-00 00:00:00'
);
"

echo 
$sql;
                               if (
mysql_query($sql)){
                               echo 
"OK";
                               }
                               else {
                               echo 
"ff";
                               }
                               
                               
                               
                            
//wilkommrensnachricht
                              
                               
$comment "<font color='#00FF7F'>[i]".$_POST['cname']."[/i] betritt den Chat. [b]Wilkommen![/b]</font>
\n"

                               
// Dateizeiger marschiert an den Anfang
  
                               
$filename '../chat/freunde/log.html';
                               
$somecontent $comment;

                                
// Sichergehen, dass die Datei existiert und beschreibbar ist
                                
if (is_writable($filename)) {

                                
// Wir öffnen $filename im "Anhänge" - Modus.
                                // Der Dateizeiger befindet sich am Ende der Datei, und
                                // dort wird $somecontent später mit fwrite() geschrieben.
                                
if (!$handle fopen($filename"a")) {
                                print 
"Technischer Fehler CF001";
                                exit;
                                }



                               
// Schreibe $somecontent in die geöffnete Datei.
                               
if (!fwrite($handle$somecontent)) {
                               print 
"Technicher Fehler CF002";
                               exit;
                               }


                              print 
"";

                              
fclose($handle);

                              } else {
                              print 
"Technicher Fehler CF003";
                              }  
                             

                            
//neuer datenbank eintrag

                            
                            
}
                            
//else vom namensüberpr+fer schlissen 
Die wilkommensnachricht wird in die Chatdatei geschrieben, aber der datenbank eintrag nicht. auch wenn kein chatter der so heisst vorhanden ist. trotsem gibt er mit beim mysql_query immer das OK aus, aber in der datenbank steht nix. weiss jemand an was das liegen könnte ?

Schonmal danke im vorraus, Cheesy
Cheesy92 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 21.10.2006, 15:09  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wie sieht der SQL-String denn wirklich aus?
Zergling-new ist offline  
Alt 21.10.2006, 15:32  
Neuer Benutzer
 
Registriert seit: 17.07.2006
Beiträge: 13
Cheesy92
Standard

PHP-Code:
$sql "INSERT INTO `chatter` ( `id` , `cname` , `chat` , `kick` , `rechte` , `IP` , `logout` )
VALUES (
'', '"
.$_POST[cname]."', 'freunde', '0', '".$_POST[rechte]."', '".$_SERVER['REMOTE_ADDR']."', '0000-00-00 00:00:00'
);
"

habe das ganze dann auch mit echo ausgeben lassen da steht das so da wie ich das haben will. aber eingetragen wird nichts:

INSERT INTO `chatter` ( `id` , `cname` , `chat` , `kick` , `rechte` , `IP` , `logout` ) VALUES ( '', 'jk', 'freunde', '0', 'g', '192.168.2.3', '0000-00-00 00:00:00' );
Cheesy92 ist offline  
Alt 21.10.2006, 15:34  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

deinen $_POST variablen fehlen wahrscheinlich die Hochkommata, es sei den du hast alles per Konstante definiert
nikosch ist offline  
Alt 21.10.2006, 16:06  
Neuer Benutzer
 
Registriert seit: 17.07.2006
Beiträge: 13
Cheesy92
Standard

das habe ich jezt korregiert, aber funzt trotsdem noch nicht. ich habe den ganzen sql string auch mit echo ausgeben lassen:
INSERT INTO `chatter` ( `id` , `cname` , `chat` , `kick` , `rechte` , `IP` , `logout` ) VALUES ( '', 'jk', 'freunde', '0', 'g', '192.168.2.3', '0000-00-00 00:00:00' );

steht alles korrekt da.

PHP-Code:
                               if (mysql_query($sql)){
                               echo 
"OK";
                               }
                               else {
                               echo 
"ff";
                               } 
...Hier gibt er mir auch ein OK zurück. aber wie gesagt in der datenbak steht nichts
Cheesy92 ist offline  
Alt 21.10.2006, 18:06  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Was gibt mysql_affected_rows() bzw. mysql_error() -einfach trotzdem mal ausführen- aus?
Wie überprüfst du, dass nichts eingetragen wurde?
Zergling-new ist offline  
Alt 21.10.2006, 19:25  
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

Wie immer solltest Du auch error_reporting(E_ALL) noch reinschreiben. Da Du bei $_POST[] keine Meldung gekriegt hast, ist diese Zeile offensichtlich nicht drin.

Außerdem solltest Du den ; am Ende des Querys wegnehmen.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 22.10.2006, 01:45  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

wenn deine id auto_increment ist dann solltest du im query garnicht auf id zugreifen bzw. sie mit '' <- "nichts" füllen!
Flor1an ist offline  
Alt 22.10.2006, 02:51  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

NULL klappt auch.
Fakt ist doch aber, daß mysql_query anscheinend korrekt ausgeführt wird (was nicht immer, aber in diesem Falle doch wohl bedeutet, daß in der DB etwas geändert wird, sondern nur, daß die query syntaktisch korrekt ist). kannst ja maximal deine if bedingung auf if (TRUE == mysql_query ())... ändern. vielleicht schreibst du aber auch in eine andere Datenbank / DB Ressource. quasi ein flüchtigkeitsfehler. keine ahnung.
nikosch ist offline  
Alt 27.10.2006, 14:03  
Neuer Benutzer
 
Registriert seit: 17.07.2006
Beiträge: 13
Cheesy92
Standard

Habe das ganze hinbekommen, frangt mich bloß nicht wie . Habe ziemlich viel neu gemacht. und jet gings :P.

Trotsdem danke für eure schelle hilfe
Cheesy92 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
Direkten Zugriff auf Datenbank verhindern heyho PHP Tipps 2008 7 07.02.2008 11:41
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
Datenbank Probleme Lern_HEIKO PHP Tipps 2008 8 03.11.2007 18:35
Es wird nichts in die Datenbank eingetragen !!bitte helfen! Datenbanken 8 20.08.2005 13:42
Mehrere Anwendungen eine Datenbank... Datenbanken 5 15.08.2005 11:22
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
Datenbank verschieben PHP Tipps 2005-2 4 03.08.2005 15:45
INSERT in die Datenbank PHP Tipps 2004-2 4 13.12.2004 19:51
[Erledigt] MySQL findet Datenbank nicht Datenbanken 10 21.10.2004 09:14


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:21 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.