PHP没有进入数据库

时间:2014-04-23 17:11:15

标签: php mysql

我遇到了问题,没有任何内容进入数据库。我查了一切。没有错误。

    <?
<?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行''附近使用正确的语法

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));