通过自定义PHP文件从html文件访问DB
Access DB from html file via custom PHP file
现在我有一个数据库连接到mysql。html -> PHP ->查询->数据接收工作。我显示相关代码:
从html文件事项:
d3.json("http://path/file.php", function(error, data) {
console.log (data);
});
file.php:
<?php
$username = "myusername";
$password = "mypassword";
$host = "myhost";
$database="myDB";
$server = mysql_connect($host, $username, $password);
$connection = mysql_select_db($database, $server);
$myquery = "select * from `mytable`";
$query = mysql_query($myquery);
if ( ! $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);
?>
我想要的是只有1 .php文件,而不是1 php文件的每个查询。这意味着我需要从html发送一个变量inputquery
到php文件。我尝试了一些事情,比如修改:
`$myquery = "select * from `mytable`; into `$myquery = inputquery`;
我认为错误的点是函数的定义,从数据库请求数据。我所尝试的(错了,下面的代码没有按预期工作):
var inputquery = "select * from `mytable`"
d3.json("http://serverhost/path/file.php", function(error, data) {
console.log (data);
});
也许这是不工作,因为我没有告诉函数我想作为输入到.php文件的变量inputquery
。我试图把它放在函数内,但得到了"数据未定义"的错误,所以我认为显示错误的代码是不值得的。
如何将var inputquery
输入到.php文件中?这不可能是我计划的那样。
谢谢
您必须将inputquery变量与http请求一起作为POST数据发送,然后在PHP文件中输入:
$myquery = $_POST['inputquery'];
你肯定会找到一些关于发送post数据的文档。
最简单的方法是在d3.json中使用get参数:
var yourparam = 'mytable';
d3.json("http://path/file.php?query=" + yourparam, function (error, json) {
...
});
您可以从$_GET数组中检索变量。最后,不要把mysql命令放进你的js中,也不要使用mysql库。这很危险。
这是一个非常糟糕的主意,因为你变得非常容易受到SQL注入,即使如此,我也会尽力帮助你
我假设你有JQuery如果你有那么
您可以执行以下操作html.file
var inputquery = "select * from `mytable`";
$.post("relative/path/to/file.php",
{query : inputquery},
function (data) {
alert(data); // See output
},'json);
file.php
<?php
$username = "myusername";
$password = "mypassword";
$host = "myhost";
$database="myDB";
$server = mysql_connect($host, $username, $password);
$connection = mysql_select_db($database, $server);
$myquery = $_POST['query'];
$query = mysql_query($myquery);
if ( ! $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);
?>
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 将HTML表格导出到excel时,无法将数据加载到excel文件中
- 导入jQuery脚本获胜'我不处理html文件
- 生成pdf或其他非html文件时的错误处理
- 从HTML调用typescript文件中的函数
- 使用metro-uiJS对话框调用其他文件html
- 使用选项卡导航到不同的html文件(html、JavaScript)
- 使用 socket.io 时如何发送文件(html,js,css和资源)
- 采购<p>从.txt文件.HTML
- 包含的html中的类无法访问父文件html中的函数
- 重新加载链接文件 HTML
- 如何使用 JavaScript 或 JQuery 从输入类型=文件 html 元素获取文件名
- Angularjs + 指令文件 html 内容点击事件在 js 文件中不起作用
- 如何直接从网页读取/写入本地文件 (html)
- jQuery加载txt文件.html()
- 指定简单配置文件HTML或javascript的最佳方式是什么
- Angular将所有头文件html提取到一个文件中
- 想要部分上传大文件.HTML/PHP
- AJAX -上传文件(HTML 5) &PHP