![]() |
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:
Wenn ich nun die felder ausfülle und auf "save" klicke bekomme ich folgende SQL-felhermeldung:
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()"]« back[/url]'; } else echo'[b]Please fill in the form correctly.[/b] [url="javascript:history.back()"]« back[/url]'; }
SQL-Code:
[edit=SirThornberry]Code-Tags ergänzt.. Mfg, SirThornberry[/edit]
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') |
Re: seltsame MySQL fehlermeldung
Von welchem Typ ist denn bannerid ?
Und welche länge ist dafür gesetzt ? |
Re: seltsame MySQL fehlermeldung
|
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. |
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:
oder so
INSERT INTO imw_bannerrotation (bannerID, bannername, bannerurl, displayed, date) values(null, 'test', 'http://test', '1', '1148767347')
SQL-Code:
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.
INSERT INTO imw_bannerrotation (bannername, bannerurl, displayed, date) values('test', 'http://test', '1', '1148767347')
Verwechsle also '' nicht mit NULL. |
Re: seltsame MySQL fehlermeldung
bannerID sollte leer gelasen werden, da diese Feld autoincrement hat.
|
Re: seltsame MySQL fehlermeldung
Ach das autoincrement hab ich übersehen.
So darfst du in die Spalte garnicht schreiben soviel ich weiß. |
Re: seltsame MySQL fehlermeldung
ok, danke für eure antworten, werde das mach checken ... hoffe es funktioniert dann ...
|
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') |
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. |
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