【问题标题】:insert data into database using ajax, javascript and php使用 ajax、javascript 和 php 将数据插入数据库
【发布时间】:2016-04-01 04:45:55
【问题描述】:

问题是:我的动机是从管理员那里获取主题名称并将其插入数据库。然后我想把我的查询结果放到同一个网页上,而不是像 ajax 应该做的那样刷新它。以下代码给出了错误的 o/p。我尝试了许多语法,但代码的响应仍然错误。请告诉我正确的方法。

我的 HTML 代码是:

<form>
    <input type="text" name="subject" />
    <div id="subject"></div>
    <input type="button" value="Submit" onclick="addSubject()" />
    <script src="home.js">
    </script>
</form>

我的 home.js 代码是:

function addSubject() {
    a=document.getElementsByName("subject")[0].value;
    destination="ajaxstoresubject.php?a:"+a+";";
    var xhr=new XMLHttpRequest();
    xhr.open("GET",destination,true);
    xhr.send();
    xhr.onreadystatechange=function() {
        if(xhr.readyState==4 && xhr.status==200) {
            document.getElementById("Subject").innerHTML=xhr.responseText;
        }
    }
}

ajaxstoresubject.php 的代码是:

<?php
$subject=$_GET["a"];
$con=mysqli_connect("localhost","root","","doortolearn");
if(!$con){
    echo("No database connection.");
}
$query="insert into subjects(sid) values('$subject')";
$result=mysqli_query($con,$query);
if($result){
    echo("Subject successfully inserted");
}
else{
    echo("Subject could not be inserted. Might be, the subject already exists.");
}
?>

问题是:它将一个空值插入到主题表的 sid 列中。我检查了,sid 是 varchar 仍然是问题。它也没有在网页上提供任何输出。

请不要推荐 JQUERY。我对此一无所知。

【问题讨论】:

  • 大概我们提出的任何建议都是“你不知道的”——否则你不会问!
  • 请解决我的这个问题,你可以投-100。从过去五天开始,我太赤手空拳地解决了这个问题。 :(@Strawberry 我会在我的一生中记住你。
  • 危险:你很容易受到SQL injection attacks的影响,你需要defend你自己。
  • 我不涉及 SQL 注入。 :(请解决除投票否决之外的确切问题:(@Quentin
  • @RahulGoel — 当人们查看您的代码时抱怨,认为他们没有时间调试它,但有助于指出一个严重的安全问题并不是让您喜欢的好方法社区。​​span>

标签: javascript php mysql ajax


【解决方案1】:

检查 correct format 获取 GET 查询字符串。尝试将destination="ajaxstoresubject.php?a:"+a+";"; 更改为destination="ajaxstoresubject.php?a="+a;

【讨论】:

  • 谢谢你的回答,但还是一样。请给我其他答案。我想你可以解决这个问题
【解决方案2】:

刚才这里一切正常我检查了你的代码,一切正常。

  1. 最重要的是尝试使用 XAMPP 服务器,因为有时我也下载免费项目,当我尝试使用 WAMP 服务器运行该项目时,它不起作用,但 XAMPP 以真正快速的方式启动,WAMP 总是想要更新,但是我不喜欢你在本地服务器上使用 WAMP...

    开始使用 XAMPP,它非常好用且用户友好。

  2. 刚刚正确地贴花你的数据串我注意到你的数据串没有正确声明它应该像这样贴花:

     destination="ajaxstoresubject.php? a="+a;
    
  3. 我也在我的本地服务器上运行此代码,它与 JavaScript 完美配合,只需在声明时专注于双引号、逗号、驼峰字母......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 2017-04-07
    • 1970-01-01
    • 2021-09-21
    相关资源
    最近更新 更多