Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   seltsame MySQL fehlermeldung (https://www.delphipraxis.net/70269-seltsame-mysql-fehlermeldung.html)

ghost007 27. Mai 2006 23:03


seltsame MySQL fehlermeldung
 
Hallo,
ich habe eine seite(PHP), auf der sich ein button und einige eingabefelder befinden.
Wenn man auf dne button klickt, werden die werte aus den eingabefeldern mit folgender funktion auf dem SQL server gespeichert:
Code:
elseif($_POST["save"]) {
   $banner=$_FILES["banner"];
   $bannername=$_POST["bannername"];
   $bannerurl=$_POST["bannerurl"];
   $displayed=$_POST["displayed"];
   if(!$displayed) $displayed=0;
   
   echo'
      <h2>bannerrotation</h2>
      <input type="button" class="button" onClick="MM_goToURL(\'parent\',\'admincenter.php?site=bannerrotation&action=add\');return document.MM_returnValue" value="new banner">
      <h2>new banner</h2>';
   
   if($bannername AND $bannerurl AND $banner) {
      if(eregi('http://', $bannerurl)) $bannerurl=$bannerurl;
      else $bannerurl='http://'.$bannerurl;
      
      $file_ext=strtolower(substr($banner[name], strrpos($banner[name], ".")));
      if($file_ext==".gif" OR $file_ext==".jpg" OR $file_ext==".png") {
         safe_query("INSERT INTO ".PREFIX."bannerrotation (bannerID, bannername, bannerurl, displayed, date) values('', '".$bannername."', '".$bannerurl."', '".$displayed."', '".time()."')");
         $id=mysql_insert_id();
         if($banner[name] != "") {
            move_uploaded_file($banner[tmp_name], $filepath.$banner[name]);
            @chmod($filepath.$banner[name], 0755);
            $file=$id.$file_ext;
            rename($filepath.$banner[name], $filepath.$file);
            if(safe_query("UPDATE ".PREFIX."bannerrotation SET banner='".$file."' WHERE bannerID='".$id."'")) {
               redirect("admincenter.php?site=bannerrotation", "Banner created.", "3");
            } else {
               redirect("admincenter.php?site=bannerrotation", "Banner could not be created", "3");
            }
         }
      } else echo'[b]The format of the icon was incorrect. Please upload only banner in *.gif, *.jpg and *.png format.[/b]

[url="javascript:history.back()"]&laquo; back[/url]';
   } else echo'[b]Please fill in the form correctly.[/b]

[url="javascript:history.back()"]&laquo; back[/url]';
}
Wenn ich nun die felder ausfülle und auf "save" klicke bekomme ich folgende SQL-felhermeldung:

SQL-Code:
Query failed:
errorno=1264
error=Out of range value adjusted for column 'bannerID' at row 1
query=INSERT INTO imw_bannerrotation (bannerID, bannername, bannerurl, displayed, date) values('', 'test', 'http://test', '1', '1148767347')
[edit=SirThornberry]Code-Tags ergänzt.. Mfg, SirThornberry[/edit]

skunker 27. Mai 2006 23:36

Re: seltsame MySQL fehlermeldung
 
Von welchem Typ ist denn bannerid ?
Und welche länge ist dafür gesetzt ?

ghost007 28. Mai 2006 00:10

Re: seltsame MySQL fehlermeldung
 
Hallo,
habe mal hier als screenshot die vaiablen in der tabelle:

ftp://www.imw-clan.de/MYSQL.JPG

skunker 28. Mai 2006 00:12

Re: seltsame MySQL fehlermeldung
 
hmm spontan würde ich jetzt sagen du darfst nach deinen einstellungen keinen Wert bannerID übergeben. Bzw.keinen leeren.

du versucht ja mittels "blbla values('',..." NICHTS in bannerID zu schreiben. Lass das mal komplett weg und probiers nochmal.

Jelly 28. Mai 2006 08:47

Re: seltsame MySQL fehlermeldung
 
BannerID ist vom Typ Integer, und Du übermittelst ein Leerstring ''. Das kann nicht gehen.

Wenn Du wirklich nichts in das Feld schreiben willst, machs so
SQL-Code:
INSERT INTO imw_bannerrotation (bannerID, bannername, bannerurl, displayed, date) values(null, 'test', 'http://test', '1', '1148767347')
oder so

SQL-Code:
INSERT INTO imw_bannerrotation (bannername, bannerurl, displayed, date) values('test', 'http://test', '1', '1148767347')
Bei erster Methode bist Du sicher, dass Du NULL übergibts, bei der zweiten wird der in der Datenbank definierte Standardwert für BannerID genommen, falls denn einer definiert ist, ansonsten auch null.

Verwechsle also '' nicht mit NULL.

mkinzler 28. Mai 2006 08:51

Re: seltsame MySQL fehlermeldung
 
bannerID sollte leer gelasen werden, da diese Feld autoincrement hat.

skunker 28. Mai 2006 09:29

Re: seltsame MySQL fehlermeldung
 
Ach das autoincrement hab ich übersehen.

So darfst du in die Spalte garnicht schreiben soviel ich weiß.

ghost007 28. Mai 2006 10:41

Re: seltsame MySQL fehlermeldung
 
ok, danke für eure antworten, werde das mach checken ... hoffe es funktioniert dann ...

ghost007 28. Mai 2006 11:34

Re: seltsame MySQL fehlermeldung
 
das ist komisch ...
Wenn ich im query die bannerID weglasse, dann kommt folgender fehler:

SQL-Code:
Query failed:
errorno=1136
error=Column count doesn't match value count at row 1
query=INSERT INTO imw_bannerrotation (bannername, bannerurl, displayed, date) values('', 'Guild Wars', 'http://www.guildwars.com', '1', '1148812407')

mkinzler 28. Mai 2006 11:36

Re: seltsame MySQL fehlermeldung
 
Du mußt den Wert bei valuses natürlich auch weglassen:

SQL-Code:
INSERT INTO imw_bannerrotation (bannername, bannerurl, displayed, date) values('Guild Wars', 'http://www.guildwars.com', '1', '1148812407');


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:46 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz