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