我遇到了问题,没有任何内容进入数据库。我查了一切。没有错误。
<?
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$req = $bdd->prepare('INSERT INTO hackmodz(id, user, password, hwid, time, till, banned) VALUES(:id, :user, :password, :hwid, :time, :till, :banned');
$req->execute(array(
':id' => $_GET['id'],
':user' => '',
':password' => $_GET['pass'],
':hwid' => $_GET['hwid'],
':time' => '',
':till' => '',
':banned' => ''
));
echo 'Le jeu a bien ete ajoute !';
?>
错误:
致命错误:带有消息'SQLSTATE [42000]的未捕获异常'PDOException':语法错误或访问冲突:1064 SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在第21行的C:\ wamp \ www \ msx \ index.php中使用“第1行”附近的正确语法
(!)PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;查看与MySQL服务器版本对应的手册,以便在第21行的C:\ wamp \ www \ msx \ index.php第1行''附近使用正确的语法
答案 0 :(得分:2)
你有两个错误。
两个开放的<?
和<?php
代码,移除<?
另外,:banned'
中的引文和)
中的引号但我用双引号替换了这些引号。
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$req = $bdd->prepare("INSERT INTO hackmodz(id, user, password, hwid, time, till, banned) VALUES(:id, :user, :password, :hwid, :time, :till, :banned)");
$req->execute(array(
':id' => $_GET['id'],
':user' => '',
':password' => $_GET['pass'],
':hwid' => $_GET['hwid'],
':time' => '',
':till' => '',
':banned' => ''
));
echo 'Le jeu a bien ete ajoute !';
?>
另外,我引用Jeroen:“你应该告诉PDO抛出异常:$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
”