PDO没有插入 - 没有错误

jrm*_*jrm 7 php mysql database pdo

我不明白为什么这些行不起作用:

  $host = 'localhost';
  $dbname='mydbname';
  $login='mylogin';
  $pwd='mypwd';
  $datex = date('Y/m/d H:i:s');
  $nomx = 'jrmy';
  $numx = '007';
  try {
    $bdd = new PDO('mysql:host='.$host.';dbname='.$dbname, $login, $pwd);
  }
  catch(Exception $e) {
    die('Erreur : '.$e->getMessage());
  }
  $bdd->exec('INSERT INTO dossiers(date, nom, numero, disp) VALUES(\''.$datex.'\', \''.$nomx.'\', \''.$numx.'\', \'Y\')');
  $id = $bdd->lastInsertId();
  $bdd= null;
  echo 'id: '.$id;
Run Code Online (Sandbox Code Playgroud)

披露:该脚本在我的apache服务器上工作,因为我在IIS服务器上安装了我的脚本,它停止工作...

并且查询功能完美运行...查询确定,插入NO

编辑:谢谢大家!真!

You*_*nse 27

您需要告诉PDO引发错误

$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Run Code Online (Sandbox Code Playgroud)

请注意,处理异常的方式非常无用.最好从代码中删除try-catch块

  • @jimsmith我同意,当它从头开始设计以取代主要的mysql_函数时,它的有趣的多么糟糕的PDO错误.默认情况下不会引发任何错误是一个特别的决定. (3认同)
  • 我真的开始讨厌PDO了 (2认同)