Kom ihåg mig?
Home Menu

Menu


SQL-problem

 
Ämnesverktyg Visningsalternativ
Oläst 2007-09-15, 19:23 #1
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Citat:
Data truncated for column 'length_hull' at row 1
Jag försöker skriva blankt till length_hull och får det felmedelandet som orsakar att ingenting skrivs... använder die() för att få det. Någon som vet vad det kan bero på?
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-15, 21:06 #2
mysputte mysputte är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2004
Inlägg: 12
mysputte mysputte är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2004
Inlägg: 12
Lite mer information vore hjälpsamt.

1. Vad har kolumnen för datatyp?
2. Är det NULL du menar med blankt?
3. Har kolumnen "NOT NULL"?

Artikel om data integritet från mysql.
http://dev.mysql.com/tech-resources/...integrity.html
mysputte är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-16, 00:00 #3
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Datatypen är "float", med blankt menar jag helt enkelt "". Typ jag skriver $variabel = ($info[2]) där $info[2] inte har något värde. Det har hämtats ur en databas.

Kolumnens standard är "NULL". NULL är satt till "ja" (kollar i phpmyadmin)..
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-16, 00:27 #4
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
Hur ser SQL-queryn ut?
WizKid är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-16, 01:26 #5
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
$result = mysql_query("INSERT INTO boat (kolumn1, kolumn2, ..., kolumn32, kolumn33) VALUES ('$var1', '$var2', ..., 'var32', 'var33')");

Det är en helt vanlig insert query med 33 kolumner och 33 värden, har inte fyllt i nått mer.
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-16, 01:51 #6
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Skulle det kunna hjälpa att sätta variabeln till NULL istället för ""... skriver man $var = NULL; då?
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-16, 02:59 #7
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' NULL, NULL, NULL, NULL, NULL, NULL, 314)' at line 6

Ändrade till null och fick det felmeddelandet?!
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-16, 10:04 #8
mysputte mysputte är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2004
Inlägg: 12
mysputte mysputte är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2004
Inlägg: 12
Finns det någon anledning till att du sätter det till NULL eller går det lika bra
att lägga in 0?
mysputte är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-16, 11:57 #9
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
Kan vara bra att visa hur hela queryn ser ut och inte bara felmeddelandet.
WizKid är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-09-16, 16:18 #10
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Själva queryn:

Kod:
$result = mysql_query("INSERT INTO boat (name, boat_type_id, length_overall, length_hull, length_water, width, depth, 
 * * * *depth_min, deplacement, engine, rig, lys, hull_id, hull_construction, rig_height, 
 * * * *rudder_id, stern_id, other, fuel_tank, water_tank, bunks_min, bunks_max, cabin_height, interior, constructor_id) 
 * * * *VALUES ($name, $boat_type, $length_overall, $length_hull, $length_water,
 * * * *$width, $depth, $depth_min, $deplacement, $engine, $rig, $lystal,
 * * * *$hull_id, $hull_construction, $rig_height, $rudder, $stern, $other, $fuel_tank, $water_tank,
 * * * *$bunks_min, $bunks_max, $ruffhojd, $interior, $c_id)");
Varje variabel har fixats på det här sättet:
Kod:
function fix($value) {
 * *if ($value == "-") return "";
 * *if (strlen($value)>0) return "'".$value."'";
 * *else return "NULL";
 * *}
$name = fix($info['name']);
Bry er inte om if $value == "-" det är bara en fulhaxx. Datan kommer ifrån en annan databas och när ingenting finns skall den egentligen vara null, men ibland är den inte det.

Det senaste felmedelandet är:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' NULL, NULL, NULL, NULL, NULL, NULL, NULL)' at line 6

Det spelar roll ifall det är 0 eller null, eftersom vissa grejer kan vara noll, men null kommer när datan presenteras visa "-", alltså att man inte veta.
Althalos är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 23:52.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017