我需要一些关于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);
});
还值得一提的是我的查询经过测试并且有效。
一些帮助将不胜感激!关于如何调试和打印或写入的任何想法都会被认可!