使用Javascript将变量传递到php-MySQL脚本
Passing variable to php MySQL script with Javascript
我从另一个源代码借来了这段代码。现在,我正在尝试修改它。
我需要将$q的内容传递到我的php页面,并将其用作SQL语句中的where子句。
我的Javascript:
<script>
function subject(str) {
if (str == "") {
document.getElementById("subject").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("subject").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","form_get.php?q="+str,true);
xmlhttp.send();
}
}
</script>
在我正在使用的html选择代码中:onchange="subject(this.value)"
我的PHP
$q = intval($_GET['subject']);
//if (!empty($_GET['q'])){
//$q = $_GET['q'];
//}
include('../conn/conn.php');
$sql = "select DISTINCT grade FROM primary_skills where subject= $q ";
正如您所看到的,我正在将$q传递到SQL语句中。我知道intval返回一个数字,但当我尝试其他类型(如strval)时,它会破坏脚本。当我尝试上面的注释部分时,它破坏了脚本。
当我将php更改为:$q=$_GET["q"];
时,我得到错误:form_get.php?q=读取500(内部服务器错误)。这告诉我$q确实正在从选项列表中退出,但其他事情正在发生…
问题出在您的php中,您假设要获得q而不是主题
$q = intval($_GET['q']);
include('../conn/conn.php');
$sql = "select DISTINCT grade FROM primary_skills where subject= $q ";
$q = intval($_GET['subject']);
这看起来不对——应该不是$q = intval($_GET['q']);
吗?
相关文章:
- 将phonegap图像发布到php/mysql-图像字段从发布请求中消失
- 如何使用jQueryPOST将get变量从JavaScript传递到PHP-Mysql
- 如何使用PHP+MySQL Ajax自动完成jQuery并传递给JavaScript
- 为什么PHP MySQL INSERT通过AJAX调用只是偶尔发生
- 将动态feild数据存储到jquery-mobile和php-mysql中的数据库中
- PHP MySQL 在一个页面和一个查询中插入具有多行的数据
- 多行 PHP MySQL 插入
- 我怎样才能为一个简短的项目托管 HTML/PHP/MySQL
- 登录后PHP登录脚本重定向不起作用
- 如何处理json编码的php-mysql数组
- 根据php/mysql变量中的文本行调整文本区域的大小
- 我们可以用grunt设置一个php/mysql环境吗
- php/mysql搜索结果-当类型>1,同时保持其他类型不>1-代码点火器
- PHP/MySQL:将用户输入保存到数据库
- 使用PHP/MYSQL在phonegap中注册;不起作用
- PHP MySQL值传递到JavaScript
- 如何在等待php客户端脚本的回复时终止php服务器脚本
- 使用Javascript将变量传递到php-MySQL脚本
- 如何检查PHP/MYSQL中是否已经存在USERNAME
- 呈现Highcharts的问题-通过PHP/MySQL填充