[PHP] Großes Problem mit MySQL

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Tupperware, 7. Oktober 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 7. Oktober 2006
    Großes Problem mit MySQL

    Ich hab ne neue Tabelle angelegt, so wie immer (im PHPMyAdmin)
    Code:
    CREATE TABLE `layerads` (
     `id` int(20) NOT NULL auto_increment,
     `layer_id` varchar(20) collate latin1_german1_ci NOT NULL default '',
     `layer_subid` varchar(8) collate latin1_german1_ci NOT NULL default '',
     `layer_url` mediumtext collate latin1_german1_ci NOT NULL,
     `klicks` varchar(20) collate latin1_german1_ci NOT NULL default '',
     `time` varchar(20) collate latin1_german1_ci NOT NULL default '',
     `ip` varchar(20) collate latin1_german1_ci NOT NULL default '',
     PRIMARY KEY (`id`),
     FULLTEXT KEY `layer_id` (`layer_id`,`layer_subid`,`layer_url`,`klicks`,`time`,`ip`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci AUTO_INCREMENT=1 ;
    
    und dann will ich dort daten einfügen, das mache ich so:
    PHP:
    <? php
    $dbhost
    = "localhost" ;
    $dbuser = "username" ;
    $dbpw = "passwort" ;
    $sql = mysql_connect ( $dbhost $dbuser $dbpw );
    $dbname = "Datenbank" ;
    mysql_select_db ( $dbname );
    $sqlbefehl = "insert into layerads values ('',' $layer_id ',' $layer_subid ',' $layer_url ','0',' $time ',' $ip ')" ;
    mysql_db_query ( $dbname , $sqlbefehl , $sql );
    mysql_close ( $sql );
    ?>
    so, ich hab das eigendlich alles aus anderen scripten kopiert und nur die variablen angepasst. Aber wenn ich das ausführe, macht der mir immer unter jeden neuen Eintrag ein paar Leerzeilen in die MySql. Mal sinds 3, mal 2, dann wieder 4. ?(

    Bitte helft mir. Alle meine anderen Scripte funktionieren ja auch, und die sind im Grunde genommen ja der selbe Code.
     
  2. 7. Oktober 2006
    AW: Großes Problem mit MySQL

    Der Befehl wird aber ausgeführt?
    Also der fügt schon deinen Text in die Datenbank ein?
    Weil eigentlich kenne ich das so, dass mal schreibt:

    PHP:
    $sqlbefehl = 'INSERT INTO layerads (id, sqlfeld, sqlfeld, sqlfeld, sqlfeld, sqlfeld) ' ;
    $sqlbefehl .= 'VALUES ('',"' . $layer_id . '","' . $layer_subid . '","' . $layer_url . '","0","' . $time . '","' . $ip . '")' ;
    Wobei 'sqlfeld' natürlich das jeweilige Feld ist.
     
  3. 7. Oktober 2006
    AW: Großes Problem mit MySQL

    PHP:
    <? php
    $lol 
    mysql_connect ( $host , $user , $pass );
    mysql_select_db ( $database );
    mysql_query ( "INSERT INTO layerads (layer_id,layer_subid,layer_url,klicks,time,ip) VALUES (' $layer_id ',' $layer_subid ',' $layer_url ','0',' $time ',' $ip ')" );
    mysql_close ( $lol );
    ?>
    ? oO
    Finds so schoener, vllt bringts dir ja auch was. Ansonsten - wie meinst du Leerzeilen? Is da in jedem Feld nichts oder ne 0 oder was? Gib doch einfach ma die Daten so aus:

    PHP:
    <? php
    echo  'LAYER-SUBID: ' . $layer_subid ;
    ?>
    Und guck, ob da überhaupt immer was drinsteht.

    mfG
    etc..
     
  4. 7. Oktober 2006
    AW: Großes Problem mit MySQL

    ja, die Daten werden eingefügt, aber danach kommen immer noch ein paar leerzeilen in die Tabelle rein. Und die ID wird mitgezählt, also wenn ich das erste mal das script aufrufe ist die id 1, beim 2. mla 4 usw.

    Aber komischerweise funktionieren alle meine Anderen scripte ohne Probleme, obwohl ich da den selben Code verwende.

    //EDIT: @übermir: hier ein Screen von der MySQL nach 4x Script aufrufen: (ohne deinen Code)
    {bild-down: http://www.image-monster.de/uploads/image39666ee9cd5jpg.jpg}
     
  5. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    if(!empty($layerid) && !empty($layer_subid) && ............)
     
  6. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    die sind doch nicht leer.

    Ich habe bei dem Script 4x auf F5 gedrückt, und danach sahs so aus wie auf dem Screen
     
  7. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    Das ist ziemlich unmoeglich bei dem Codeschnippsel, den du uns gezeigt hast!
     
  8. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    Er hat doch schon geschrieben, wie es zustande gekommen ist
     
  9. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    Zusammenhangslos oder verstehe ich den Sinn nicht?
     
  10. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    bor, ich hab keine Lust alles nochmal zu schreiben: Lies dir einfach den gesamten tread nochmal durch
     
  11. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    kannst du mal dein ganzes script reinstellen?
     
  12. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    ungern ^^

    OK, ihr macht im PHPMyAdmin eine Neue Tabelle mit dem SQL-Code vom ersten Post.

    Der USer gibt die Daten dann in Textfeldern ein, die per POST übertragen werden, was auch klappt (ich hab mir die empfangenen Werte ausgeben lassen).

    Dann ist nur dieser Code:
    PHP:
    <? php
    $layer_url
    = strip_tags ( $_POST [ "layer_url" ]);
    $layer_id = strip_tags ( $_POST [ "layer_id" ]);
    $layer_subid = strip_tags ( $_POST [ "layer_subid" ]);
    $ip = $_SERVER [ "REMOTE_ADDR" ];
    setlocale  ( LC_TIME , GERMAN );
    $time = strftime ( "%c" );

    include (
    "mysql.php" );
    $sqlbefehl = "insert into layerads values ('',' $layer_id ',' $layer_subid ',' $layer_url ','0',' $time ',' $ip ')" ;
    mysql_db_query ( $dbname , $sqlbefehl , $sql );

    $getid  "SELECT id FROM layerads ORDER BY id DESC LIMIT 1;" ;
    $result  mysql_query ( $getid );
    $row = mysql_fetch_assoc ( $result );
    $id  $row [ 'id' ];

    $link = 'http://www.layer-tools.de.vu/index.php?user=' . $id ;
    mysql_close ( $sql );
    echo 
    $link ;
    ?>
    Die "mysql.php" hab ich so aufgebaut, dass ich sie local auf meinem PC als auch online auf meinem Webspace nutzen kann (local bei xampp hat man als DBUser den Namen "root", ein PW gibt es nicht):
    PHP:
    <? php
    $dbhost
    = "localhost" ;
    if (
    $_SERVER [ "HTTP_HOST" ]== "localhost" )
    {
    $dbuser = "root" ;
    $dbpw = "" ;
    }
    else
    {
    $dbuser = "username" ;
    $dbpw = "passwort" ;
    }
    $sql = mysql_connect ( $dbhost $dbuser $dbpw );
    $dbname = "Datenbankname" ;
    mysql_select_db ( $dbname );
    ?>
     
  13. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    Dein Coding Stil ist schon ziemlich... eigenartig.

    Zu mysql_db_query():
    Probiers doch einfach mal so, wie ichs gesagt habe..
     
  14. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    Nützt auch nichts. Komisch ist ja: Bei allen anderen Scripts hab ich den selben Code (nur eben die Variablen heißen anders), und dort klappts doch auch. Die Befehle sind ja die selben.

    //EDIT: Hier der Code von meiner Linkliste:
    PHP:
    <? php
    include ( "mysql.php" );
    $sqlbefehl = "insert into links values ('',' $titel ',' $beschr ',' $banner ',' $url ','0',' $zei ',' $isbanner ','0',' $ip ')" ;
    mysql_db_query ( $dbname , $sqlbefehl , $sql );
    $getid  "SELECT id FROM links ORDER BY id DESC LIMIT 1;" ;
    $result  mysql_query ( $getid );
    $row = mysql_fetch_assoc ( $result );
    $id  $row [ 'id' ];
    ?>
    dort geht alles wunderbar. Ich hab das nur kopiert und die Variablen umbenannt. mehr nicht.
     
  15. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    gib ma den quellcode von deinem formular. vielleicht wird das ding mehrere male aufgerufen?

    dann isses nur ne frage der zeit, bis niemand mehr bock auf ratespielchen hat. [offtopic]wieso meint eigentlich jeder, dass sein code so absolut heilig ist?[/offtopic]
     
  16. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    Ich hab ihn doch schon reingestellt

    Außerdem habe ich damit schlechte Erfahrungen:
    Ich hatte die Seite schon vor einiger zeit in einem großen Webmasterforum vorgestellt, und schwups ein paar Wochen später gab es 5 Seiten, die (meist) noch schlechter waren und im Grunde genommen das selbe boten wie meine Seite.

    Wenn jetzt noch jeder den Code hat, geht noch schneller.

    //EDIT: Kanns nichtmal jemand von euch testen ?
     
  17. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    Gibt sicher auch Seiten, die ne bessere Lösung zum einfügen des Layer Codes haben, als dein iFrame

    ~~~

    Trotzdem ist mysql_db_query veraltet.
     
  18. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    hast du das ganze evtl. in ner schleife laufen oder ist das der komplette code der datei?
     
  19. 8. Oktober 2006
    AW: Großes Problem mit MySQL

    ja, ist so komplett. keine schleife, kein garnix.
     
  20. 9. Oktober 2006
    AW: Großes Problem mit MySQL

    Der Fehler kann so unmoeglich auftreten. Bei dem Code-Schnipsel ist das zu 100% ausgeschlossen!
     
  21. 9. Oktober 2006
    AW: Großes Problem mit MySQL

    hast dus versucht ? Wenn es bei dir klappt, dann kann ja nur im formular en Fehler sein...
     
  22. 9. Oktober 2006
    AW: Großes Problem mit MySQL

    Ja, ich habe es versucht und es geht einwandfrei!
     
  23. 9. Oktober 2006
    AW: Großes Problem mit MySQL

    tupperware :tongue: ^^

    sonst zeig doch mal dein ganzes script :] ...

    irgendwo finden wir den fehler schon *g+
     
  24. 9. Oktober 2006
    AW: Großes Problem mit MySQL

    boar, ok...

    Start.php:
    PHP:
                 < form action = "generate.php"  method = "POST" >
                <
    table border = "0"  cellpadding = "0"  cellspacing = "0"  align = "left" >
                <
    tr >< td >< font face = "Verdana"  size = "2" >< b > URL :& nbsp ;</ b ></ font ></ td >< td >< input type = "text"  name = "layer_url"  size = "40"  value = "http://"  style = 'color:#212121; background:#F4F4F4; font-family: Verdana size:2' ></ input ></ td ></ tr >
                <
    tr >< td >< font face = "Verdana"  size = "2" >< b > Layer - ID :& nbsp ;</ b ></ font ></ td >< td >< input type = "text"  name = "layer_id"  size = "10"  value = "la-"  style = 'color:#212121; background:#F4F4F4; font-family: Verdana size:2' ></ input ></ td ></ tr >
                <
    tr >< td >< font face = "Verdana"  size = "2" >< b > Subid  ( optional ):& nbsp ;</ b ></ font ></ td >< td >< input type = "text"   name = "layer_subid"  size = "10"  maxlength = "8"  style = 'color:#212121; background:#F4F4F4; font-family: Verdana size:2' ></ input ></ td ></ tr >
                <
    tr >< td ></ td >< td >< input type = "submit"  value = "Link generieren" ></ input ></ td ></ tr >
                </
    table >
                </
    form >
    generate.php:
    PHP:
    <? php
    $layer_url
    = strip_tags ( $_POST [ "layer_url" ]);
    $layer_id = strip_tags ( $_POST [ "layer_id" ]);
    $layer_subid = strip_tags ( $_POST [ "layer_subid" ]);
    $ip = $_SERVER [ "REMOTE_ADDR" ];
    setlocale  ( LC_TIME , GERMAN );
    $time = strftime ( "%c" );

    include (
    "mysql.php" );
    $sqlbefehl = "insert into layerads values ('',' $layer_id ',' $layer_subid ',' $layer_url ','0',' $time ',' $ip ')" ;
    mysql_db_query ( $dbname , $sqlbefehl , $sql );

    $getid  "SELECT id FROM layerads ORDER BY id DESC LIMIT 1;" ;
    $result  mysql_query ( $getid );
    $row = mysql_fetch_assoc ( $result );
    $id  $row [ 'id' ];

    $link = 'http://layer-tools.de.vu/index.php?user=' . $id ;
    echo 
    $link ;
    mysql_close ( $sql );
    ?>
    mysql.php:
    PHP:
    <? php
    $dbhost
    = "localhost" ;
    if (
    $_SERVER [ "HTTP_HOST" ]== "localhost" )
    {
    $dbuser = "root" ;
    $dbpw = "" ;
    }
    else
    {
    $dbuser = "username" ;
    $dbpw = "passwort" ;
    }
    $sql = mysql_connect ( $dbhost $dbuser $dbpw );
    $dbname = "Datenbank" ;
    mysql_select_db ( $dbname );
    ?>
    so, ich schlaf erstmal ne Nacht drüber, und wenn ihr morgen nix gefunden habt, versuch ich es einfach nochmal. Wenn es dann nicht geht, schreibe ich alles nochmal neu
     
  25. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.