Php Jquery-从mysql查询中获取数据
好的,所以我不是100%认为这是实现我想要的最好的方法,但现在开始 我有一些PHP代码来处理SQL查询,我希望通过AJAX请求在SQL值中传递它。最初,我是用PHP来完成所有这些工作的,也就是说,我有一个名为“query”的PHP函数,它将执行我传递给它的SQL命令。这很好,我可以使用数组,但是我想对结果做更多的工作,并感觉需要javascript。所以,为了执行PHP代码,我尝试创建一个AJAX请求,现在只输出结果 这是我的PHP,它位于query.PHP中Php Jquery-从mysql查询中获取数据,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,好的,所以我不是100%认为这是实现我想要的最好的方法,但现在开始 我有一些PHP代码来处理SQL查询,我希望通过AJAX请求在SQL值中传递它。最初,我是用PHP来完成所有这些工作的,也就是说,我有一个名为“query”的PHP函数,它将执行我传递给它的SQL命令。这很好,我可以使用数组,但是我想对结果做更多的工作,并感觉需要javascript。所以,为了执行PHP代码,我尝试创建一个AJAX请求,现在只输出结果 这是我的PHP,它位于query.PHP中 <?php stat
<?php
static $handle;
if (!isset($handle))
{
try
{
$handle = new PDO("mysql:dbname=" . DATABASE . ";host=" . SERVER, USERNAME, PASSWORD);
$handle->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}
catch (Exception $e)
{
trigger_error($e->getMessage(), E_USER_ERROR);
exit;
}
}
$statement = $handle->prepare($sql);
if ($statement === false)
{
exit;
}
$results = $statement->execute($parameters);
if ($results !== false)
{
$array = $statement->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($array);
}
else
{
// return false; do nothing for now
}
?>
当我传递一个简单的SQL查询来测试它时,我只是在控制台中没有得到任何东西
有没有关于我做错了什么的线索或更好方法的建议?我无法评论,所以我写了一个答案: 您是否从
$\u GET
设置$sql
?
试试这个:
function query (sql) {
$.post('query.php', { sql: sql }, function(data){
console.log(data);
}, 'json');
}
在query.php中:
<?php
$sql = isset($_POST['sql']) ? $_POST['sql'] : '';
...
您正在发送什么SQL?您直接从web应用程序发送SQL,而不是将其抽象出来,这似乎有点奇怪,但您可能有自己的理由(在不了解更多信息的情况下无法对该方法进行投票)。一个简单的字符串可以测试,如“SELECT*from tbl_Contact,其中ID='20'”,如果您直接在mysql客户端中运行该字符串,它返回结果?当您直接转到query.php时,是否会得到一个空页面?$sql变量在哪里初始化?在使用之前,您可能想执行类似$sql=$\u POST[“sql”]的操作?
<?php
$sql = isset($_POST['sql']) ? $_POST['sql'] : '';
...