2015-09-14 149 views
-2

我試圖理解這種錯誤插入SQL值,但我不如何解決呢 這是我的JS代碼:無法通過AJAX的PHP

$.ajax({ 
       url: 'C:\\inetpub\\wwwroot\\VisionwareHelp\\Php/CriaUserEempresa.php', 
       type: "POST", 
       data: ({Pname: Pname, Uname: Uname, email: email, Ename: Ename, Sigla: Sigla}), 
       complete:function(data) 
       { 
        resposta = data; 
        console.log(resposta); 
       } 
      }); 

這是我的PHP代碼:

$serverName = $server; 
$uid = $uid; 
$pwd = $pass; 
$connectionInfo = array("UID" => $uid, "PWD" => $pwd,"Database"=>"Portal"); 
//$connectionInfo = array("Database"=>"Portal"); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 
$Pname = $_POST["Pname"]; 
$Uname = $_POST["Uname"]; 
$email = $_POST["email"]; 
$Ename = $_POST["Ename"]; 
$Sigla = $_POST["Sigla"]; 

if($conn) 
{ 
    $sqlCliente = "INSERT INTO Portal.dbo.Empresa VALUES ($Ename, $Sigla)"; 
    if (mysqli_query($conn, $sqlCliente)) { 
     echo "New record created successfully"; 
    } else { 
     echo "Error: " . $sqlCliente . "<br>" . mysqli_error($conn); 
    } 

} 

當我這樣做數據的console.log,給我這個: log

什麼是錯我的代碼?

+0

,沒有u得到任何錯誤? – user3040610

+0

與此相關的HTML表單呢? –

+0

您的查詢中也有語法錯誤。 'mysqli_error($ conn);'應該把東西扔給你;它是什麼?我知道它是什麼,我們需要「你」來告訴我們。哦,你可以在這裏看到一些主要的SQL注入。 –

回答

0

嘗試改變成$sqlCliente = "INSERT INTO Portal.dbo.Empresa VALUES ('$Ename', '$Sigla')";

+0

照顧每個人,並填寫「嘗試......」更實質性的東西? ;-) –

+0

請考慮編輯您的帖子,以解釋您的建議的作用以及爲什麼它可能有所幫助,特別是如果您不確定是否可以解決問題。 – SuperBiasedMan

0

我認爲問題與你的SQL INSERT語句。

$sqlCliente = "INSERT INTO Portal.dbo.Empresa(Ename,Sigla) VALUES ($Ename, $Sigla)"; 

OR

$sqlCliente = "INSERT INTO Portal.dbo.Empresa VALUES ($Ename, $Sigla,..... Add all parameters to here)"; 
+0

*我想.... * - 嗯...不;我不信。這是「別的東西」;-) –

0

url: 'C:\\inetpub\\wwwroot\\VisionwareHelp\\Php/CriaUserEempresa.php',

這行不正確。

PHP文件需要一個服務器才能執行。從你的路徑看,它看起來像你在IIS中託管。 IIS默認不支持PHP - 所以假設你已經安裝了PHP並正確配置了,請閱讀下文。

您不會張貼到PHP文件的物理路徑,而是PHP的URL。

因此,它應該類似於:

url: localhost/VisionwareHelp/php/CriaUserEempresa.php',

直到你修正網址到正確的,沒有你的郵政代碼將正常工作。

如果你還沒有在IIS上安裝PHP,那麼你需要下載並安裝一個支持PHP的服務器,如'WampServer',並託管你的PHP。

另外,閱讀以下文章 - 這將有助於提高你的知識。

+0

你變暖了,但你錯過了很多事情。再看看他們的代碼,並仔細研究它。什麼不屬於「屬於」?爲了更精確一些,什麼不屬於「一起」? ;-) –

+0

對不起,我不明白你想說什麼@ Fred-ii-。如果你知道答案,你爲什麼不公佈答案?它應該有助於操作系統:) –

+0

我想要Pasan,但是OP的代碼有太多錯誤,包括他們想要或可以使用哪些API來連接。他們的問題對我來說太「太熱」了。對不起,我過去提交過這樣的答案,只能在我給出的答案下做出無盡的評論。稱之爲「體驗」;-) –

0

在阿賈克斯,發送多個數據的正確的語法是:http://api.jquery.com/jQuery.ajax/

所以,更換

data: ({Pname: Pname, Uname: Uname, email: email, Ename: Ename, Sigla: Sigla}), 

data: {'Pname':Pname, 'Uname':'Uname', 'email':email, 'Ename':Ename, 'Sigla':Sigla }, 

而此行url: 'C:\\inetpub\\wwwroot\\VisionwareHelp\\Php/CriaUserEempresa.php',也是不正確的。

更換

url: 'C:\\inetpub\\wwwroot\\VisionwareHelp\\Php/CriaUserEempresa.php', 

url: 'Php/CriaUserEempresa.php', 

希望這將有助於你..