好吧,我很沮丧,我不知道这个问题是什么。我觉得自己就像一个糟糕的程序员。我试图更新我的数据库,并且我知道我尝试更新的表存在。从字面上我知道这个查询是准确的,但我不知道为什么它不起作用。第一个mysql语句执行,但第二个不执行。这是我的代码。PDO准备好的陈述不会执行
$Statement = $Database->prepare("INSERT INTO table1 (tbl2id, col, col2) VALUES (?, ?, ?); UPDATE table2 SET this = ? WHERE id = ?");
$Statement->execute(array($table2id, $col, $col2, 1, $table2id));
所以我试图设置数据库,所以他们是一种连接。顺便提一下,我列出了所有的列名。我不知道它是否有助于安全,但我不喜欢公开发布这些内容。无论如何,默认情况下'this'列是0,如果它是1,这意味着用户已经回复。所以'this'被设置为tinyint并且默认值为0.
我不是故意问一个愚蠢的问题或任何东西,我讨厌承认它,但我真的不明白它。也许有一些关于我不知道的PDO陈述。我也尝试过两次单独执行,但它仍然不行。而且我知道有人会说我没有更新正确的桌子或其他东西。但我发誓这是正确的,我已经检查了至少10次。
非常感谢。我喜欢自己弄点东西,但我不能再浪费时间了。
,如果你把它分成两个查询会发生什么? –
我这样做了,它仍然不会执行,我读了PDO :: ATTR_EMULATE_PREPARES,我知道它默认设置为1,并且我没有搞砸了,所以我不认为这是问题 – Alex
我意思是,显然可能没有足够的信息从我的帖子中解决问题,并且我知道我发布的代码似乎没有任何错误。我会一直试图解决它,但我只是想确保没有任何错误发生,这很明显。就像我不知道的PDO,我正在强调。 – Alex