如何在php mysql查询中获取javascript变量?

如何在php mysql查询中获取javascript变量?,javascript,php,mysql,Javascript,Php,Mysql,我不熟悉Javascript和PHP。有人能告诉我如何在php变量中使用javascript变量吗?我想在MySQL查询中使用该php变量从MySQL数据库中获取数据。是否可以在MySQL查询中直接获取javascript变量 我试过了,但没能得到结果。我在下面附上了代码 <script> var baccount = document.getElementById('accountid'); var bacc = baccount.value; </script> &

我不熟悉Javascript和PHP。有人能告诉我如何在php变量中使用javascript变量吗?我想在MySQL查询中使用该php变量从MySQL数据库中获取数据。是否可以在MySQL查询中直接获取javascript变量

我试过了,但没能得到结果。我在下面附上了代码

<script>
var baccount = document.getElementById('accountid');
var bacc = baccount.value;
</script>

<?php 

$abcd = '"+bacc+"';

$quer=mysql_query("SELECT * from fpay_user where account_id='$abcd'");


$result=mysql_fetch_array($quer);

$rbal = $result['balance'];

echo $rbal;

?>

var baccount=document.getElementById('accountid');
var bacc=baccount.value;

事情并没有那么简单。Javascript在浏览器(客户端)中运行,php在web服务器(主机)上运行。这是两台不同的计算机。要将数据从客户端传递到主机,可以从javascript向服务器上的特定url发出http请求。当服务器发送响应时,您可以再次用javascript处理它

一个例子(使用)是:

<script>
  // success will be called when the server sent a response.
  function success(result) {
    // result.responseJSON is a javascript object: { balance: 1234 }
    let balance = result.responseJSON.balance
  }

  $.ajax({
    url: '/path/to/script.php',
    data: {
        bacc: baccount.value
      },
    success: success,
    dataType: 'json'
  });
</script>

//服务器发送响应时将调用success。
功能成功(结果){
//result.responseJSON是一个javascript对象:{balance:1234}
让balance=result.responseJSON.balance
}
$.ajax({
url:“/path/to/script.php”,
数据:{
bacc:baccount.value
},
成功:成功,
数据类型:“json”
});
在php中,您可以获取传递的值,执行查询并返回结果:

<?php
  // get the passed value
  $abcd = $_GET['bacc'];

  // do the query SAFELY. See explanation below.
  $quer = mysql_query("SELECT * from fpay_user where account_id='" . mysql_escape_string($abcd) . "'");
  $result=mysql_fetch_array($quer);

  // Now return the result as json string
  header('Content-Type: application/json');
  // This will encode the result as: "{balance: 1234}"
  echo json_encode($result);

您需要了解客户端语言和服务器语言的区别

在代码中,JavaScript在浏览器中执行,而PHP在服务器中执行。为了让PHP知道客户端发生了什么,客户端必须通过查询字符串、表单post或原始数据post将这些信息发送到服务器

对于您的情况,您可以从JavaScript向服务器发送Ajax请求(使用原生XMLHttpRequest或jQuery)

然后,您的PHP可以通过$_POST[“bacc”]访问它


请务必理解,尽管您可以将其写入同一个文件(这是一种不好的做法),但它们是在不同的位置(客户端或服务器)执行的。

您可以使用javascript重新加载带有querystring的页面,该变量是querystring的一部分,或者更常见的是,使用ajax向php脚本发送请求,从而向数据库发送请求。有两个脚本:javascript和php。哪个剧本?哪一行?在javascript中,我遇到了错误。我已经为script.php提供了正确的路径,但这一行的“/path/to/script.php”中仍然存在错误。在数据行中的一个列表之后,我得到了未捕获的语法错误(错误:缺失):{在javascript程序中。我明白了。很抱歉。我修复了答案中的代码。感谢您的快速响应。我之前得到的错误已经解决,但我得到的错误是无法读取行中未定义的属性'balance',让balance=result.responseJSON.balance。我在php程序中得到输出[echo json_encode($result)但我无法用javascript获取它。
$.ajax({
type: "POST",
  url: url,
  data: {bacc:value},
});