gpt4 book ai didi

mysql - 为什么我会收到此 SQL 语法错误? - 语法错误或访问冲突 : 1064

转载 作者:行者123 更新时间:2023-11-29 12:19:09 24 4
gpt4 key购买 nike

为什么我会收到此错误:SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行 '' 附近使用的正确语法?

<?php
include'model.php';

global $db;
try {
$sql ='SELECT accounts.username '
. 'FROM accounts '
. 'WHERE accounts.username = '
.$_POST[username];
$stmt = $db->prepare($sql);
$stmt->execute();
$navList = $stmt->fetchAll();
$stmt->closeCursor();

header('location: ./view_cms.php');


} catch (PDOException $exc) {
echo $exc->getMessage();
// header('location: ./view_error.php');
exit;
}

?>

最佳答案

因为您需要在 WHERE 子句中将字符串括在单引号中。您还需要使用带引号的字符串键访问 $_POST 条目:

$sql = "SELECT accounts.username ".
"FROM accounts ".
"WHERE accounts.username = '".$_POST["username"]."'";

此外,这也是基于 PHP 的 Web 软件名声不佳的原因。看在老天爷的份上,清理你的输入!!您的 prepare 语句不会执行任何操作,因为您没有使用参数(您的语句不是准备好的语句)。

关于mysql - 为什么我会收到此 SQL 语法错误? - 语法错误或访问冲突 : 1064,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29296834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com