/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
php og mysql fejl.
Fra : Mathias Mejborn


Dato : 26-07-06 16:17

Hej gruppe.

Jeg sidder og roder rundt i nogle problemer med overstående.

Fejlen lyder således:

Column count doesn't match value count at row 1

og en phps fil der indeholder koden kan ses her:

http://www.mynote.dk/showblog.phps

Siden hvor fejlen kommer kan ses her:

http://mynote.dk/index.php?show=showblog&blogid=&valg=writenew

Nogen der har et bud på hvad fejlen kan være?

--
Mvh
Mathias Mejborn
mathias@mejborn.dk
http://mejborn.dk

 
 
Peter Brodersen (26-07-2006)
Kommentar
Fra : Peter Brodersen


Dato : 26-07-06 16:22

On Wed, 26 Jul 2006 17:16:30 +0200, Mathias Mejborn <mame06@ceus.dk>
wrote:

>Nogen der har et bud på hvad fejlen kan være?

Det er en SQL-fejl i følgende kode:

INSERT INTO blogs_comments (comment, blog_id, created_by, email,
hjemmeside, create_date) values ('$comment', '$d_blogs[id]', '$name',
'$email', '$homepage')

Du vil indsætte noget i følgende seks felter:
- comment
- blog_id
- created_by
- email
- hjemmeside
- create_date

... men du indsætter kun fem værdier. Når du angiver at du vil indsætte
noget i seks felter, skal du også tilsvarende angive seks værdier.

--
- Peter Brodersen
Ugens^WMånedens^WSommerens værktøj - Find vej: www.findvej.dk
Nu med valgfri tekst: www.findvej.dk/Nybrogade2,1203?text=Kulturministeriet

Mathias Mejborn (26-07-2006)
Kommentar
Fra : Mathias Mejborn


Dato : 26-07-06 16:39

Peter Brodersen wrote:
> On Wed, 26 Jul 2006 17:16:30 +0200, Mathias Mejborn <mame06@ceus.dk>
> wrote:
>
>> Nogen der har et bud på hvad fejlen kan være?
>
> Det er en SQL-fejl i følgende kode:
>
> INSERT INTO blogs_comments (comment, blog_id, created_by, email,
> hjemmeside, create_date) values ('$comment', '$d_blogs[id]', '$name',
> '$email', '$homepage')
>
> Du vil indsætte noget i følgende seks felter:
> - comment
> - blog_id
> - created_by
> - email
> - hjemmeside
> - create_date
>
> .. men du indsætter kun fem værdier. Når du angiver at du vil indsætte
> noget i seks felter, skal du også tilsvarende angive seks værdier.
>
Jamen tak for det, det er jo ikke sådan når man sidder og stirre sig
blind på det.

--
Mvh
Mathias Mejborn
mathias@mejborn.dk
http://mejborn.dk

Jesper Brunholm (26-07-2006)
Kommentar
Fra : Jesper Brunholm


Dato : 26-07-06 23:08

> Peter Brodersen wrote:
>> Det er en SQL-fejl i følgende kode:
>>
>> INSERT INTO blogs_comments (comment, blog_id, created_by, email,
>> hjemmeside, create_date) values ('$comment', '$d_blogs[id]', '$name',
>> '$email', '$homepage')

> Jamen tak for det, det er jo ikke sådan når man sidder og stirre sig
> blind på det.

Nej, men det er meget lettere at undgå med den anden INSERT syntax:

INSERT INTO blogs SET comment='$comment', blog_id='$d_blogs[id]', osv osv

mvh

Jesper Brunholm


Peter Brodersen (26-07-2006)
Kommentar
Fra : Peter Brodersen


Dato : 26-07-06 23:21

On Thu, 27 Jul 2006 00:08:07 +0200, Jesper Brunholm
<nospam@brunholm-scharff.dk> wrote:

>Nej, men det er meget lettere at undgå med den anden INSERT syntax:
>
>INSERT INTO blogs SET comment='$comment', blog_id='$d_blogs[id]', osv osv

Det lader dog ikke til at være SQL-compliant (såvidt, jeg lige kan se
i SQL92-dokumentationen). Det vil virke i MySQL, men jeg vil anbefale,
at man benytter sig af standard-notationen - det skaber mindre
forvirring for en efterfølgende udvikler, der nok alligevel vil
omskrive koden.

--
- Peter Brodersen
Ugens^WMånedens^WSommerens værktøj - Find vej: www.findvej.dk
Nu med valgfri tekst: www.findvej.dk/Nybrogade2,1203?text=Kulturministeriet

Christian Joergensen (26-07-2006)
Kommentar
Fra : Christian Joergensen


Dato : 26-07-06 23:37

Jesper Brunholm <nospam@brunholm-scharff.dk> writes:

>> Peter Brodersen wrote:
>>> Det er en SQL-fejl i følgende kode:
>>>
>>> INSERT INTO blogs_comments (comment, blog_id, created_by, email,
>>> hjemmeside, create_date) values ('$comment', '$d_blogs[id]', '$name',
>>> '$email', '$homepage')
>
>> Jamen tak for det, det er jo ikke sådan når man sidder og stirre sig
>> blind på det.
>
> Nej, men det er meget lettere at undgå med den anden INSERT syntax:
>
> INSERT INTO blogs SET comment='$comment', blog_id='$d_blogs[id]', osv osv

Eller et abstraktionslag :)

$hest = array('navn' => 'my little pony',
'farve' => 'pink');

$dbh->autoExecute('heste', $hest);

Hvor $dbh er et objekt DB_common fra PEAR DB :)

http://pear.php.net/manual/en/package.database.db.db-common.autoexecute.php

(Ja, jeg ved godt PEAR DB er uddateret efterhaanden)

--
Christian Joergensen | Linux, programming or web consultancy
http://www.razor.dk | Visit us at: http://www.gmta.info

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste