使用php文件访问d3.js中的MySQL数据库

时间:2014-03-31 10:21:33

标签: javascript php mysql d3.js undefined

我需要一些关于MySQL和D3的php文件的帮助。

我正在尝试使用D3访问我的数据库。我创建了一个php文件,在那里我建立了与MySQL的连接。

然而,我的问题是,当我从D3打印输出到控制台时,我得到一个空数组。我似乎无法找到我做错的事。下面是我的D3调用和php文件的代码:(我有用户名,密码和数据库名称的相应名称。)

<?php
    $host = "localhost";
    $port = 8889;
    $username = "********"; 
    $password = "********";   
    $database="***datebasename***";
    if (!$server) {
        die('Not connected : ' .mysql_error());
    }
    $server = mysql_connect($host, $user, $password);

    $connection = mysql_select_db($database, $server);

    if (isset($_GET['type'])) {
        $type = $_GET['type'];
    } else {
        $type = "null";
        echo "Type not passed";
    }

    if($type=='load'){
        $string = '';
        $gene = $_GET["gene"];
        $data = $_GET["data"];

        $myquery = "select gene_data.gene_data from genes inner join gene_data on genes.id=gene_data.g_id where genes.name ='$gene' and genes.type='$data'";
        $query = mysql_query($myquery);

        if ( !$myquery || !$query) {
            echo mysql_error();
            die;
        }

        $data = array();
        for ($x = 0; $x < mysql_num_rows($query); $x++) {
            $data[] = mysql_fetch_assoc($query);
        }

        echo json_encode($data);
        mysql_close($server);
    }
?>

我的文件都是从服务器运行的。 MySQL服务器也在同一台服务器上,所以我jut调用localhost来获取访问权限。此外,由于我需要为SQL调用提供多个不同的参数,因此我会从D3(“gene”和“human”)发送值。

以下是我从D3做的电话:

d3.json("getdata.php?type=load&gene=CLL5&data=human", function(error, data) {
    console.log(data);
});

还值得一提的是我的查询经过测试并且有效。

一些帮助将不胜感激!关于如何调试和打印或写入的任何想法都会被认可!

0 个答案:

没有答案