【发布时间】:2014-03-19 17:14:45
【问题描述】:
我已经使用 PHP PDO 获得了这段代码,并且我有一个运行两次的 INSERT 查询。此代码应将值“Hello World”插入数据库。但是,我的代码将值两次插入到数据库中。
我该如何解决这个问题?我偶然发现了其他人也有同样的问题,但是他们有循环问题,或者他们使用了使事情变得混乱的爆炸功能。我没有这些,只有一个连接块和一个插入查询,但它却做了一件奇怪的事情。
代码:
// DB connect configuration
$user = 'user';
$pass = 'password';
// Database connection
$dsn = "mysql:host=localhost;dbname=pdotest;charset=utf8";
$opt = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);
$conn = new PDO($dsn, $user, $pass, $opt);
// Data to insert
$data = 'Test and test and test';
// Insert data into database
$sql = "INSERT INTO tabletwo (rowTwo) VALUES (?)";
$q = $conn->prepare($sql);
$q->execute(array($data));
【问题讨论】:
-
PDO 不会自行执行此操作。某些东西正在运行您的脚本两次,您需要弄清楚为什么会发生这种情况。
-
这是您在此页面上拥有的唯一代码吗?
-
为什么是新问题?只需编辑this 一个。
-
是的,阿比克,这就是一切。只有一些 HTML,就是这样。我已按如下方式包含此文件: include(DIR . '/../scrapll_m_nonstatic/init/db/connect.php');
-
根据我的经验,这些问题往往发生在椅子和显示器之间。搜索您的代码以查找导致查询运行两次的任何内容,检查您的包含,一切!