2013-11-14 108 views
0

所以我有這個問題。該代碼適用於美術館日曆。代碼已經工作了這一天,但現在它已經崩潰了。我在1-2個月前寫了這篇文章,現在他們聯繫我說有什麼不對。下面是代碼PHP和MySQL錯誤「列計數與第1行的值計數不匹配」

<?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); 
    } 

} 

我希望我得到的答案即將

回答

1

有人加入或表kipina_kalenterikipina_tapahtuma刪除的一列。由於這種情況,最好總是聲明要插入哪些列。

因此,它應該是這樣的:

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

號這是代碼的當前副本,只有我一個誰可以訪問數據庫+代碼。它讓我編輯舊的東西,但它不會讓我添加新的。那個讓我困擾的東西 – JantsoP

+0

檢查這兩張表,一些東西不得不改變。然後,像我在例子中那樣聲明列。 –

+0

工程。現在奇怪的是,MySQL數據庫發現有代碼丟失,並且它已經被注意到了。缺少的代碼是一些包含一些刪除的代碼。現在它工作得很好。謝謝@Elon比 – JantsoP

1

這是關於你的表字段。請定義表中的字段,然後再開始插入數據:

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

這樣你就可以知道,如果字段與您的數據匹配

相關問題