PHP 和 MySQL 错误“列计数与第 1 行的值计数不匹配”


PHP and MySQL Error "Column count doesn't match value count at row 1"

所以我遇到了这个问题。该代码用于艺术画廊日历。代码在这一天一直有效,但现在它已经崩溃了。我大约在 1-2 个月前写了它,现在他们联系我说出了问题。这是代码

<?php
require('config.php');
if(isset($_POST['lisaa_pvm'])) {
    $alkupvm        =   mysql_real_escape_string(strtotime(str_replace('/','-',$_POST['alkupvm'])));
    $loppupvm       =   mysql_real_escape_string(strtotime(str_replace('/','-',$_POST['loppupvm'])));   
    $muuta          =   mysql_real_escape_string($_POST['muuta']);
    $result         =   mysql_query("INSERT INTO kipina_kalenteri VALUES ('','$alkupvm','$loppupvm','','','','','$muuta')") or die (mysql_error());
    $tapahtuma_id   =   mysql_insert_id();
    header('location: lisaa_tapahtuma.php?tid='.$tapahtuma_id);
}
if(isset($_POST['lisaa_tapahtuma'])) {
    // siivotaan syötteet
    foreach ($_POST as $key => $value) {
        mysql_real_escape_string($value);
        ${"$key"} = $value; 
    }
    $url = ROOT.'/files/';
    if($_FILES['kuva1']['size'] > 0) {
        $target = $url . $_FILES['kuva1']['name']; 
        if(move_uploaded_file($_FILES['kuva1']['tmp_name'], $target)) {
                $kuva[] = "kuva_1 = '".basename( $_FILES['kuva1']['name'])."'";
        } else{
                echo "There was an error uploading the file ".$target.", please try again!<br>";
        }
    }
    if($_FILES['kuva2']['size'] > 0) {
        $target = $url . basename( $_FILES['kuva2']['name']); 
        if(move_uploaded_file($_FILES['kuva2']['tmp_name'], $target)) {
                $kuva[] = "kuva_2 = '".basename( $_FILES['kuva2']['name'])."'";
        } else{
                echo "There was an error uploading the file ".$target.", please try again!<br>";
        }
    }
    if($_FILES['kuva3']['size'] > 0) {
        $target = $url . basename( $_FILES['kuva3']['name']); 
        if(move_uploaded_file($_FILES['kuva3']['tmp_name'], $target)) {
                $kuva[] = "kuva_3 = '".basename( $_FILES['kuva3']['name'])."'";
        } else{
                echo "There was an error uploading the file ".$target.", please try again!<br>";
        }
    }
    if(isset($kuva)) {
        $kuvat = ", ".implode(',',$kuva);
    }
    if(isset($sama) AND $sama != '') {
        $update = "UPDATE kipina_kalenteri SET $paikka = $sama $kuvat WHERE id = $kalenteri";   
        mysql_query($update) or die (mysql_error());
        header('location: lisaa_tapahtuma.php?tid='.$kalenteri);
    } elseif(isset($update)) {
        $update = "UPDATE kipina_tapahtuma SET 
                                                        taiteilija = '$taiteilija',
                                                        nimi = '$nimi',
                                                        kuvaus = '$kuvaus',
                                                        kuvaus = '$lyhyt_kuvaus'
                                                        $kuvat
                                                        WHERE
                                                        id = $update";
        $result = mysql_query($update) or die (mysql_query());
        header('location: lisaa_tapahtuma.php?tid='.$kalenteri);
    } else {
        $insert = mysql_query("INSERT INTO kipina_tapahtuma VALUES ('','$taiteilija','$nimi','$lyhyt_kuvaus','$kuvaus','$kuva[0]','$kuva[1]','$kuva[2]')") or die (mysql_error());
        $tid    = mysql_insert_id();
        $update = mysql_query("UPDATE kipina_kalenteri SET $paikka = $tid WHERE id = $kalenteri") or die (mysql_error());
        header('location: lisaa_tapahtuma.php?tid='.$kalenteri);
    }
}

我希望我能尽快得到答复

有人添加或删除了表 kipina_kalenterikipina_tapahtuma 中的一列。由于这种情况,最好始终声明要插入的列。

所以它应该是这样的:

  INSERT INTO table (`column1`, `column2`) VALUES ('values1', 'values2');

这是关于你的表字段。请在开始插入数据之前定义表字段:

$result = mysql_query("INSERT INTO kipina_kalenteri (`field1`,`field2`,`field3`) VALUES ('$alkupvm','$loppupvm','$muuta')") or die (mysql_error());

因此,您可以确定字段是否与您的数据匹配