2015-09-14 88 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', 

希望这将有助于你..