Php SQLSTATE[42000]:语法错误或访问冲突:1064-专门指单词“quot;麦克马斯特“;
我正在尝试从我用PHP/HTML创建的注册页面输入信息。页面上的相关PDO代码为:Php SQLSTATE[42000]:语法错误或访问冲突:1064-专门指单词“quot;麦克马斯特“;,php,mysql,pdo,Php,Mysql,Pdo,我正在尝试从我用PHP/HTML创建的注册页面输入信息。页面上的相关PDO代码为: $pdo = new PDO('mysql:host=localhost;dbname=assignment','admin', 'puppies'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); try { $stmt = $pdo->prepare("INSERT INTO `testusers`
$pdo = new PDO('mysql:host=localhost;dbname=assignment','admin', 'puppies');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$stmt = $pdo->prepare("INSERT INTO
`testusers` (`id`, `username`, `salt`, `passhash`, `firstname`, `lastname`, `gender`, `dob`, `email`, `phone`, `school`)
VALUES (NULL, :username, :salt, :passhash, :firstname, :lastname, :gender, :dob, :email, :phone, :school')");
$stmt->bindValue(':username', $_POST['username']);
$stmt->bindValue(':salt', uniqid(mt_rand(), true));
$stmt->bindValue(':passhash', $_POST['password']);
$stmt->bindValue(':firstname', $_POST['firstname']);
$stmt->bindValue(':lastname', $_POST['lastname']);
$stmt->bindValue(':gender', $_POST['gender']);
$dob = (string) $_POST['birthyear'] . (string) $_POST['birthmonth'] . (string) $_POST['birthday'];
$stmt->bindValue(':dob', $dob);
$stmt->bindValue(':email', $_POST['email']);
$stmt->bindValue(':phone', $_POST['phone']);
$stmt->bindValue(':school', $_POST['university']);
$stmt->execute();
} catch (PDOException $e) {
echo $e->getMessage();
}
我收到的全部错误是:
SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解第2行“mcmaster”)附近使用的正确语法
对于上下文,我有一个下拉菜单,用户可以在其中选择他们去的学校。其中一个值是“mcmaster”。如果我切换到下拉列表中的其他值,错误将更改为与该值匹配(queen's、ryerson等)。在我的数据库中,“school”列被编码为64个字符的VARCHAR
<p>What university are you currently attending?</p>
<select name="university" name="university">
<option value="mcmaster">McMaster University</option>
<option value="queen's">Queen's University</option>
<option value="ryerson">Ryerson University</option>
<option value="uoft">University of Toronto</option>
<option value="waterloo">University of Waterloo</option>
<option value="western">Western University</option>
<option value="york">York University</option>
</select>
您目前就读于哪所大学
麦克马斯特大学
皇后大学
加拿大瑞尔森大学
多伦多大学
滑铁卢大学
西部大学
约克大学
在:school'
的值列表中的:school
后面有一个错误的额外单引号,请删除该引号,情况应该会有所改善。在:school'
的值列表中的:school
后面有一个错误的额外单引号,请删除该引号,情况应该会有所改善。