Как вставить несколько отмеченных флажками ответов в таблицу базы данных? - PullRequest
0 голосов
/ 07 декабря 2011

У меня огромная проблема с этой базой данных.Он правильно соединяется с информацией из запросов $_POST формы, которые вставляются в таблицу company_info в правильных полях.

Теперь я понятия не имею, что я делаю здесь неправильно, ноЯ получаю сообщение об ошибке

"Error querying database".

Версия базы данных: phpMyAdmin 2.6.4-pl3

MySQL: 5.0

Есть идеи?Я могу предоставить вам остальную часть кода, если это необходимо.

$dbc = mysql_connect('db390590179.db.1and1.com', 'dbo390590179', '*********')
or die('Error connecting to MySQL server.');

mysql_select_db("db390590179", $dbc);


$query = "INSERT INTO company_info (company_name, company_phone,  company_contact, company_address, " .
"company_city, company_state, company_zip, " .
"state_living, vehicles, position, " .
"experience, training, hazmat, " .
"require_hazmat, load_nyc, take_truck_home, " .
"have_rider, have_pet, choose_route, " .
"fuel, cash_advance, days_before_home, " .
"log_system, slip_seat, pre_pass, " .
"ez_pass, health_insurance, retirement_plan, " .
"payment_plan, calculate_pay, freight, " .
"loads, home_on_time, idle_time, " .
"equipment_condition, canada)" .

"VALUES ('$company_name', $company_phone', '$company_contact', '$company_address', '$company_city', " .
"'$company_state', '$company_zip', " .
"'$state_living', '$vehicles', '$position', " .
"'$experience', '$training', '$hazmat', " .
"'$require_hazmat', '$load_nyc', '$take_truck_home', " .
"'$have_rider', '$have_pet', '$choose_route', " .
"'$fuel', '$cash_advance', '$days_before_home', " .
"'$log_system', '$slip_seat', '$pre_pass', " .
"'$ez_pass', '$health_insurance', '$retirement_plan', " .
"'$payment_plan', '$calculate_pay', '$freight', " .
"'$loads', '$home_on_time', '$idle_time', " .
"'$equipment_condition', '$canada')";

$result = mysql_query($query, $dbc)
or die('Error querying database.');

mysql_close($dbc);

Ответы [ 4 ]

1 голос
/ 07 декабря 2011

Я думаю, это потому, что в переменной INSERT отсутствует кавычка перед переменной $company_phone.

0 голосов
/ 07 декабря 2011

Вы можете удалить двойные кавычки из каждой строки и объединить их. Я удалил синтаксические ошибки. Вы можете убедиться, что результат получен или нет. Попробуйте этот код.

$dbc = mysql_connect('db390590179.db.1and1.com', 'dbo390590179', '*********')
        or die('Error connecting to MySQL server.');

mysql_select_db("db390590179", $dbc);


$query = "INSERT INTO company_info (company_name, company_phone,  company_contact, company_address,
        company_city, company_state, company_zip,
        state_living, vehicles, position,
       experience, training, hazmat,
       require_hazmat, load_nyc, take_truck_home,
        have_rider, have_pet, choose_route,
       fuel, cash_advance, days_before_home,
        log_system, slip_seat, pre_pass,
        ez_pass, health_insurance, retirement_plan,
        payment_plan, calculate_pay, freight,
        loads, home_on_time, idle_time,
        equipment_condition, canada)

        VALUES ('$company_name', '$company_phone', '$company_contact', '$company_address', '$company_city',
       '$company_state', '$company_zip',
        '$state_living', '$vehicles', '$position',
        '$experience', '$training', '$hazmat', 
        '$require_hazmat', '$load_nyc', '$take_truck_home',
        '$have_rider', '$have_pet', '$choose_route',
        '$fuel', '$cash_advance', '$days_before_home',
        '$log_system', '$slip_seat', '$pre_pass',
        '$ez_pass', '$health_insurance', '$retirement_plan',
        '$payment_plan', '$calculate_pay', '$freight',
        '$loads', '$home_on_time', '$idle_time',
        '$equipment_condition', '$canada')";

$result = mysql_query($query, $dbc)
        or die('Error querying database.');

mysql_close($dbc);
0 голосов
/ 07 декабря 2011

просто объединить различные значения в одной кавычке.

Например, "'$ company_state, $ company_zip,'". "1004 * ....

это будет работать отлично, а также будет включать пропущенную цитату в начале * $ company_phone *.

0 голосов
/ 07 декабря 2011
for (int i = 0; i < CheckBoxList1.Items.Count - 1; i++)
{
  String str = "";
  if (CheckBoxList1.Items[i].Selected)
  {
    str = CheckBoxList1.Items[i].Text;
    con.Open();
    string sql =
      "Insert into dbtable(Category,BookTitle,Feature,SubCategory)values('" +
      DDLCategory.SelectedItem.Text + "','" + TxtBooktitle.Text + "','" +
      CheckBoxList1.Items[i].Text + "','" + DDLSubcategory.SelectedItem.Text +
      "')";
    SqlCommand cmd = new SqlCommand(sql, con);
  }
}

Просто используйте отладчик и посмотрите, как все работает, и вы сможете легко решить такие проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...