【发布时间】:2017-05-27 15:58:32
【问题描述】:
我的问题是得到这个错误:
SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“1”附近使用正确的语法
这段代码给了我错误:
public function toonAlles()
{
try {
if (isset($_SESSION["limiet"])) {
$limitwaarde = $_SESSION["limiet"];
echo $limitwaarde;
var_dump($limitwaarde);
$sql = "SELECT * FROM lottogamedata LIMIT :limietwaarde";
$smt = $this->db->prepare($sql);
$smt->bindParam("limietwaarde", $limitwaarde, PDO::PARAM_INT);
}
else{
$sql = "SELECT * FROM lottogamedata";
$smt = $this->db->prepare($sql);
}
$smt->execute();
$lottotabel = $smt->fetchAll(PDO::FETCH_OBJ);
} catch (PDOException $e) {
die($e->getMessage());
}
return $lottotabel;
}
这是初始化会话的地方:
session_start();
$Winkel = Winkel::getEuroInstantie();
Uitvoer::toonKeuzeMenu();
Uitvoer::extraFunctions();
if (isset($_POST["submitTheSpecifyRequest"])){
helper::voegToegAanDeSessie($_POST["maxNumbers"]);
}
这是 submitTheSpecifyRequest 按钮:
public static function extraFunctions(){
?>
<form class="form-group" method="post" id="extraOpties">
<label for="maxNumbers">Limit the results by</label>
<input name="maxNumbers" class="form-control" id="maxNumbers" type="number" required min="1" value="1">
<input type="submit" value="Specify your search" class="btn btn-primary" name="submitTheSpecifyRequest" id="submitTheSpecifyRequest"/>
</form>
<?php
}
提前感谢我帮助我!
【问题讨论】:
-
如果我尝试这样做会给我一个致命错误:无法在第 49 行通过引用传递参数 2
-
试试
$smt->bindParam(":limietwaarde", ...(limietwaarde前面有冒号)see docs -
@Steven 是的,其中一位 cmets 也是这么说的。试试
$limitwaarde = (int)$_SESSION["limiet"]; -
@rickdenhaan 谢谢它的工作!
标签: php mysql syntax-error session-variables