Avatar billede fragze Juniormester
09. december 2003 - 14:25 Der er 3 kommentarer og
1 løsning

Probs med news script.

hep hey.
Jeg har problemer med mit news script hver gang jeg opretter en nyhed får jeg følgende fejl :
Column count doesn't match value count at row 1
Det er kun hvis jeg har feltet SVAR i min tabel news, jeg får problemet så går ud fra det er et sted i min post.php den er gal. ;) Hvis jeg fjerner "svar" fra min tabel i sql er der slet ingen probs og den opretter nyheden med det samme :D

KODE:
<?php
session_start();
include('../config.php');
if ($_POST['prfm'] == 'new') {
    if ($_FILES['image']['name'] != '') {
        $image = time().substr($_FILES['image']['name'],strrpos($_FILES['image']['name'],'.'));
        move_uploaded_file($_FILES['image']['tmp_name'], '../files/'.$image);
    } elseif ($_POST['standard'] != '') {
        $image = $_POST['standard'];
    } else {
        $image = '';
    }
    mysql_query("INSERT INTO news VALUES ('','$_POST[header]','$_POST[name]',now(),'$_POST[resume]','$_POST[message]','$image')") or die(mysql_error());
    $id = mysql_insert_id();
    header("Location: ../laes.php?id=$id");
}
if ($_POST['prfm'] == 'upload') {
    for ($i=0;$i<count($_FILES['file']['name']);$i++) {
        if ($_FILES['file']['name'][$i] != '') {
            move_uploaded_file($_FILES['file']['tmp_name'][$i], '../files/'.$_FILES['file']['name'][$i]);
        }
    }
    header("Location: dirlist.php");
}
if ($_POST['prfm'] == 'login') {
    if ($_POST['username'] == $admin['username'] && $_POST['password'] == $admin['password']) {
        $_SESSION['laccess'] = 1;
        header("Location: administration.php");
    } else {
        header("Location: index.php?f=wronglogin");
    }
}
?>

KODE SLUT
Avatar billede fragze Juniormester
09. december 2003 - 14:37 #1
Svar = int
Avatar billede Slettet bruger
09. december 2003 - 14:41 #2
Fejlen er, at med din INSERT-metode skal der være nøjagtig lige så mange felter i din INSERT, som der er i tabellen.

Et godt råd er at lave din SQL om til at køre på denne måde:

INSERT INTO tabel (felt1, felt2)
          VALUES (feltværdi1, feltværdi2)


Eller måske


INSERT INTO tabel SET felt1=feltværdi1, felt2=feltværdi2
Avatar billede zeled Nybegynder
09. december 2003 - 14:49 #3
mysql_query("INSERT INTO news (`header`,`name`,`date`,`resume`,`message`,`image`,`svar`)VALUES ('$_POST[header]','$_POST[name]',now(),'$_POST[resume]','$_POST[message]','$image',)") or die(mysql_error());
Avatar billede zeled Nybegynder
09. december 2003 - 14:49 #4
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester