我正在使用 jQuery slider 。我正在使用以下代码将变量发布到我的 php 表单。
变量贴出来了,我用
$mincost = $_get['mincost'];和 $maxcost = $_get['maxcost'];
获取这些变量。
当我通过 mysql 运行它时,我看到一个 mysql 错误,我试过:
`price` BETWEEN '$mincost' AND '$maxcost'
这显示没有结果也没有错误
还试过:
`price` BETWEEN ".$mincost." AND ".$maxcost."
和:
`price` BETWEEN $mincost AND $maxcost
这两个显示:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064
正在发布这些变量,因为我在测试页上回应了它们。
如果我手动设置 min 和 max 变量,这是有效的。
最佳答案
您应该使用 $_GET
来检索 URL 参数,而不是 $_get
。此外,将字符串转换为 integer
$mincost = (int) $_GET['mincost'];
$maxcost = (int) $_GET['maxcost'];
编辑
变量已发布
如果数据是post
ed,你应该使用$_POST
。
$mincost = (int) $_POST['mincost'];
$maxcost = (int) $_POST['maxcost'];
如果您不确定数据是POSTed 还是在 URL 的查询字符串中发送,请使用 $_REQUEST
$mincost = (int) $_REQUEST['mincost'];
$maxcost = (int) $_REQUEST['maxcost'];
关于php 最小和最大变量在 mysql 语句中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31449086/