Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将数据库与javascript结合使用?_Javascript_Database - Fatal编程技术网

如何将数据库与javascript结合使用?

如何将数据库与javascript结合使用?,javascript,database,Javascript,Database,我正在尝试使用javascript将我的代码与sql连接起来,但我不知道它为什么不运行!如果没有问题,它将切换到另一页,否则它将打印警报!你能告诉我我的错误吗?如何改进代码?您需要了解发生的情况 由于您使用了脚本标记,我假设您的JavaScript代码构建在web页面中。在最终用户的机器上运行的 您的数据库可能不在最终用户的机器上,您也不希望它对任何旧网页都开放使用。因此,您将数据库放在服务器上,而不让外部世界访问它;您可以创建对它的明确定义的访问点,让您的代码只执行可能来自web页面代码的适当

我正在尝试使用javascript将我的代码与sql连接起来,但我不知道它为什么不运行!如果没有问题,它将切换到另一页,否则它将打印警报!你能告诉我我的错误吗?如何改进代码?

您需要了解发生的情况

由于您使用了脚本标记,我假设您的JavaScript代码构建在web页面中。在最终用户的机器上运行的

您的数据库可能不在最终用户的机器上,您也不希望它对任何旧网页都开放使用。因此,您将数据库放在服务器上,而不让外部世界访问它;您可以创建对它的明确定义的访问点,让您的代码只执行可能来自web页面代码的适当操作。这些访问点是使用您编写的在服务器上而不是客户端上运行的代码创建的

您的服务器代码也可以是在NodeJS、SilkJS、JVM或其他任何项目上运行的JavaScript,但它在服务器上,很好地隐藏在远离外部世界的地方。也可以是PHP、Java、C、Python或其他一百种语言;你喜欢什么都行

客户端和服务器之间的链接是HTTP。对于客户端代码触发数据库操作,有两种选择:

使用表单并刷新整个页面

使用ajax

两者都有用例

希望这能给你足够的时间继续你的研究


综上所述,有一些框架可以从客户端代码直接查询服务器数据库,例如。我最后一次查看是在几年前,当时它们还是很新的,可能是alpha版本,没有太多或任何访问控制,但现在想必它们已经解决了这个问题。

JavascriptNice中的Google AJAX尝试一下!不能使用客户端JavaScript直接连接到数据库。你应该使用Ajax,也就是说,向你的服务器发送一个请求,服务器应该得到数据并返回它。我会试试的,谢谢你的帮助^^
<script>
    function process_Login(){
        var c = document.getElementById("usr").value;
        var d = document.getElementById("pwd").value;
        if(c.length==0){
            alert("ERROR: Your ID account is NULL");
        }
        else if(isNaN(c)){
            alert("ERROR: Your ID must be number");
        }
        else
        {
            $con = mysql_connect("localhost", "root", "");
            if(!$con){
                die("cound not connect");
            }
            //select database
            mysql_select_db("db_atmvisual");
            $query = mysql_query("SELECT * FROM tb_account WHERE account_id='c' AND account_pin='d'");
            $row = mysql_num_rows($query);
            if($row!=0){
                window.location = "http://127.0.0.1:8080/atmvisual/processlogin.php";
            }
            else
                alert("loginfail");
            }
        }
</script>