2012-06-25 82 views
0

我需要插入到數據庫中,但它給我的錯誤,我剛纔看到silimar例如在這裏,但我的工作不請告訴我是什麼問題:錯誤插入時

<?php 
$con = mysql_connect("localhost","****","****"); 
if (!$con) 
{ 
die('Could not connect: '. mysql_error()); 
} 
mysql_select_db("properties", $con); 

// array for JSON response 
$response = array(); 

    $result = mysql_query("INSERT INTO property(Pname, P_Price,P_Desc,P_City, P_Size,P_Rooms, P_garage, P_Address, P_Long, P_Lat, Provinces_idProvinces) 
    VALUES 
     ('$_POST[Pname]','$_POST[P_Price]','$_POST[P_Price]','$_POST[P_Desc]','$_POST[P_City]','$_POST[P_Size]','$_POST[P_Rooms]','$_POST[P_garage]','$_POST[P_Address]','$_POST[P_Long]','$_POST[P_Lat]','$_POST[Provinces_idProvinces]')"); 

if ($result) { 
     // successfully inserted into database 
     $response["success"] = 1; 
     $response["message"] = $result ; 

     // echoing JSON response 
     echo json_encode($response); 
    } else { 
     // failed to insert row 
     $response["success"] = 0; 
     $response["message"] = "Oops! An error occurred."; 

     echo $response["success"]; 

     // echoing JSON response 
     echo json_encode($response); 
    } 

mysql_close(); 

?> 

我需要,但網址像這樣:本地主機/ PHP/add.php,它必須顯示{ 「成功」:1, 「消息」:真正},但它不請幫我

+0

像這樣:「成功」:0,「消息」:哎呀!發生錯誤 – user1480473

+1

歡迎來到Stack Overflow!請不要將'mysql_ *'函數用於新代碼。他們不再被維護,社區已經開始[棄用流程](http://goo.gl/KJveJ)。請參閱[**紅框**](http://goo.gl/GPmFd)?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定,[本文](http://goo.gl/3gqF9)將有助於選擇。如果你關心學習,[這裏是很好的PDO教程](http://goo.gl/vFWnC)。 –

+0

這是你的實際數據庫密碼嗎? – andrewsi

回答

1

試試這個

INSERT INTO property(Pname, P_Price,P_Desc,P_City, P_Size,P_Rooms, P_garage, P_Address, P_Long, P_Lat, Provinces_idProvinces) 
    VALUES 
     ('$_POST[Pname]','$_POST[P_Price]','$_POST[P_Desc]','$_POST[P_City]','$_POST[P_Size]','$_POST[P_Rooms]','$_POST[P_garage]','$_POST[P_Address]','$_POST[P_Long]','$_POST[P_Lat]','$_POST[Provinces_idProvinces]')"); 

你有'$ _ POST [P_Price]',重複兩次。

+0

它仍然給我同樣的問題 – user1480473

0

如果這與你的其他問題:PHP does not insert into mysql

三個問題:

  1. 你有P_Siz而不是P_SIZE在你的MySQL創建表架構
  2. 所有非字符串字段應該不會有單引號圍繞他們。這是告訴MySQL將它們作爲字符串。如果int字段中的字段將無法插入。

我在糾正了問題,這DEMO(除去外鍵關聯)

試試下面的INSERT:

INSERT INTO property(Pname, P_Price,P_Desc,P_City, P_Size,P_Rooms, P_garage, P_Address, P_Long, P_Lat, Provinces_idProvinces) 
VALUES ('$_POST[Pname]',$_POST[P_Price],'$_POST[P_Desc]','$_POST[P_City]','$_POST[P_Size]','$_POST[P_Rooms]',$_POST[P_garage],'$_POST[P_Address]',$_POST[P_Long],$_POST[P_Lat],$_POST[Provinces_idProvinces])"); 
+0

它給了我同樣的錯誤:0 {「成功」:0,「消息」:「哎呀!發生錯誤」}我需要一個積極的結果 – user1480473

+0

認真地,改變'$ response [ ';'to'$ response [「message」] = mysql_error();' –

+0

我得到這個錯誤:0 {「success」:0,「message」:「您的SQL語法有錯誤;請查看與您的MySQL服務器版本相對應的手冊,在第4行使用正確語法以在''','','','',',,,')附近使用「} – user1480473

0

你必須採取有關名稱和列數護理以及sql語句中相應值的名稱和編號。