2011-12-07 101 views
0

我對這個數據庫有個大問題。它正確連接,並與表格的$_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); 

回答

1

我想這是因爲它缺少變量$company_phone之前報價在您的INSERT語句。

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

只需使用調試器和看看事情是如何工作的,你應該能夠很容易地解決這些問題。

0

只是在一個單引號內結合不同的值。

例如,「'$ company_state,$ company_zip,'」。「'$ state_living,$ vehicles,$ position,'」。''$ experience,$ training,$ hazmat,'「 ....

這將完美工作,並且還包括開始時缺失的報價*必須包括$ company_phone *

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); 
相關問題