2011-10-28 70 views
0

的多行我得到前來錯誤,如我收到錯誤,當我想查詢保存MySQL數據庫

"Could not connect: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES (null, '206', 'asdas', 'asasdff', 'asdfasd', 'asdsdsad', 'asdasdf', 'qw' at line 1" 

代碼是在這裏:

if($form_finished){ 
    // database info removed for posting here. 
    $link = mysql_connect('******', '****', '*****'); 
     if (!$link) {die('Could not connect: ' . mysql_error());} 
     mysql_select_db('listing'); 
      $query=""; 

    $spcats = explode(",", $fat_cats); 
    $query .= "INSERT INTO listings "; 

    for($k=0;$k<count($spcats)-1;$k++){ 
     $query .= " VALUES (null, '".$spcats[$k]."', '".$contact_fname."', '".$contact_lname."', '".$contact_email."', '".$contact_phone."', '".$listing_company_name_1."', '".$listing_phone_1."', '".$listing_address_1."', '".$listing_city_1."', '".$listing_state_1."', '".$listing_zip_1."', '".$listing_description_1."', '".$format_listing_urls."', '".$format_perimeters."'),"; 
    } 

    $query = substr($query, 0, strlen($query)-1) . ";"; 
    $result=mysql_query($query); 
    if (!$result) {die('Could not connect: ' . mysql_error());} 
} 

但是當我使用簡單的查詢,我將被保存在數據庫中。

從另一種方式,我做了一些變化做了:

for($k=0;$k<count($spcats)-1;$k++){ 
     $query = "INSERT INTO listings VALUES (null, '".$spcats[$k]."', '".$contact_fname."', '".$contact_lname."', '".$contact_email."', '".$contact_phone."', '".$listing_company_name_1."', '".$listing_phone_1."', '".$listing_address_1."', '".$listing_city_1."', '".$listing_state_1."', '".$listing_zip_1."', '".$listing_description_1."', '".$format_listing_urls."', '".$format_perimeters."');"; 
     $result=mysql_query($query); 
     if (!$result) {die('Could not connect: ' . mysql_error());} else {print $spcats[$k]." is done.<br>";} 
    } 
+1

做一個var_dum查詢的p。 –

回答

0

如果你使用,你只需要指定VALUES關鍵字,一旦一個INSERT語句插入多個值,所以這些線路

$query .= "INSERT INTO listings "; 

for($k=0;$k<count($spcats)-1;$k++){ 
    $query .= " VALUES (null, '".$spcats[$k]."', '".$contact_fname."', '".$contact_lname."', '".$contact_email."', '".$contact_phone."', '".$listing_company_name_1."', '".$listing_phone_1."', '".$listing_address_1."', '".$listing_city_1."', '".$listing_state_1."', '".$listing_zip_1."', '".$listing_description_1."', '".$format_listing_urls."', '".$format_perimeters."'),"; 
} 

應該

$query .= "INSERT INTO listings VALUES "; 

for($k=0;$k<count($spcats)-1;$k++){ 
    $query .= " (null, '".$spcats[$k]."', '".$contact_fname."', '".$contact_lname."', '".$contact_email."', '".$contact_phone."', '".$listing_company_name_1."', '".$listing_phone_1."', '".$listing_address_1."', '".$listing_city_1."', '".$listing_state_1."', '".$listing_zip_1."', '".$listing_description_1."', '".$format_listing_urls."', '".$format_perimeters."'),"; 
} 
+0

在查詢結尾掛'''可能會導致一些問題 – jprofitt

+0

@jprofitt:$ query = substr($ query,0,strlen($ query)-1)。 「;」;此代碼也將刪除最後一個。 – Shahrukh

+0

但如果我複製相同的生成代碼和頭腦到phpmyadmin並按查詢按鈕。所有的數據保存到表中。和相同的生成的代碼不能在我的代碼的查詢過程中工作。 – Shahrukh

相關問題