2013-07-05 2 views
0

Я получаю сообщение об ошибке в заголовке для следующего кода, страница предназначена для добавления подкатегорий на мой форум.Число столбцов не соответствует количеству значений при ошибке строки 1

<?php 

include '../includes/connect.php'; 
include '../header.php'; 

echo '<h2>Create a Sub category</h2>'; 
if($_SESSION['signed_in'] == false | $_SESSION['user_level'] != 1) 
{ 
//the user is not an admin 
echo 'Sorry, you do not have sufficient rights to access this page.'; 
} 
else 
{ 
//the user has admin rights 
if($_SERVER['REQUEST_METHOD'] != 'POST') 
{ 
    //the form hasn't been posted yet, display it 
    echo '<form method="post" action=""> 
     Category name: '; 
     $sql = "SELECT cat_id, cat_name, cat_description FROM categories"; 
     $result = mysql_query($sql); 
    echo '<select name="topic_cat">'; 
       while($row = mysql_fetch_assoc($result)) 
       { 
        echo '<option value="' . $row['cat_id'] . '">' . $row['cat_name'] . '</option>'; 
       } 
      echo '</select><br />'; 


    echo 'Sub category name: <input type="text" name="sub_cat_name" /><br /> 
     Sub category description:<br /> <textarea name="sub_desc" /></textarea><br /><br /> 
     <input type="submit" value="Add Sub Category" /> 
    </form>'; 
} 
else 
{ 
    //the form has been posted, so save it 
    $sql = "INSERT INTO subcategories(c_id, sub_cat_name, sub_desc) 
     VALUES('" . $cat_id . ", " . $sub_cat_name . ", " . $sub_desc . "')"; 
    $result = mysql_query($sql) or die (mysql_error()); 
    echo 'The sub category <b>" . $sub_cat_name . "</b> has been added under the main category <b>" . $cat_name . "</b>'; 
    if(!$result) 
    { 
     //something went wrong, display the error 
     echo 'Error' . mysql_error(); 
    } 
    else 
    { 
     echo 'New Sub category succesfully added.'; 
    } 
} 
} 
; ?> 

Моих категорий стола структурирован как так ..

  • cat_id
  • cat_desc

Моих подкатегорий стола структурирован как так ..

  • идентификатор (AI)
  • c_id
  • sub_cat_name
  • sub_desc

Если я не предоставили достаточно информации, пожалуйста, дайте мне знать.

+0

Вы не представились сообщение с кодом – zerkms

+0

К сожалению, в названии найдено сообщений. Количество столбцов не соответствует количеству отсчетов в строке 1 – user2542256

ответ

0

Вы не котируется вещи правильно здесь:

VALUES('" . $cat_id . ", " . $sub_cat_name . ", " . $sub_desc . "')"; 

Вам нужно

VALUES('" . $cat_id . "', '" . $sub_cat_name . "', '" . $sub_desc . "')"; 

Обратите внимание на дополнительные одиночные кавычки.

0

Вы пропустили некоторые цитаты. Изменение

VALUES('" . $cat_id . ", " . $sub_cat_name . ", " . $sub_desc . "')"; 

в

VALUES('" . $cat_id . "', '" . $sub_cat_name . "', '" . $sub_desc . "')"; 
+0

Спасибо! который исправил его, теперь мне нужно выяснить, почему он вставляет пустые данные в базу данных> _ <спасибо за помощь в этой проблеме. – user2542256

+0

Вы, кажется, не читаете переменные $ _POST в переменной, которую вы вставляете в свой запрос. –

Смежные вопросы