JavaScript将参数传递给PHP并运行查询

JavaScript将参数传递给PHP并运行查询,javascript,php,sql,Javascript,Php,Sql,我试图将一个参数从传递到文件,使用文件中我的Where子句中的参数,并将结果回显到调用页面。没有返回任何内容,并且我不确定问题是否在于 这就是我所拥有的 PHP $state = $_POST['state']; $con = mssql_connect('Server','userid','pwd') or die('Could not connect to the server!'); mssql_select_db('Partner') or die('Could

我试图将一个参数从传递到文件,使用文件中我的
Where
子句中的参数,并将结果回显到调用页面。没有返回任何内容,并且我不确定问题是否在于

这就是我所拥有的
PHP

$state = $_POST['state'];

$con = mssql_connect('Server','userid','pwd') 
    or die('Could not connect to the server!');

mssql_select_db('Partner') 
    or die('Could not select a database.');

$SQL = "SELECT * FROM [Table] WHERE [state] = '". $state. "'";

$result = mssql_query($SQL) or die('A error occured: ' . mysql_error());

echo $result
JavaScript(至少是相关部分)

php文件或中需要更改哪些内容才能正确返回值?它是有效的,就像我在SSMS中运行字符串一样,它会正确返回。(是的,数据库中也存储了两位数的状态)

编辑
我是这样读的

xhr.onreadystatechange = function(){ if (xhr.readyState == 4 && xhr.status==200)
{ document.getElementById("response").innerHTML = xhr.responseText; } }

您引用了错误的全局参数。您的XHR调用正在指定“GET”请求,但您正在检查
$\u POST


试试这个:
$state=$\u GET['state']

首先,您不应该使用$\u POST请求,而应该使用$\u GET

然后,使用echo不会在javascript上返回任何结果。最好使用json编码以获得更好的保护

print_r($result) //replace echo

即使您想通过php显示数据,也应该使用
print\r
而不是echo,因为您的查询结果是一个数组,不能仅从echo读取。

“未返回任何内容”-您如何测试返回的内容?“将结果回显到调用页面”-应该执行此操作的代码在哪里?
mssql\u查询
&
mysql\u错误
-您无法使用
mysql\u库获取
mssql\u
错误。不要混用你的数据库库。危险:你很容易受到你所需要的数据库库的攻击。你可以从阅读评论中的链接开始。就是这样!谢谢你指出这一点!echo将以javascript返回结果。我经常用它
print_r($result) //replace echo