gpt4 book ai didi

php - pdo 执行多个查询

转载 作者:行者123 更新时间:2023-11-29 06:53:02 31 4
gpt4 key购买 nike

我需要同时运行插入和更新,但我只使用插入测试来捕获错误。

当我定义一个正确的表和一个不正确的表时,PDO 不会报告错误,但是如果我运行查询以选择一个不正确的表,则会报告错误。

我没有足够的知识来解决这个问题,我真的需要一起执行两个查询谢谢。

$db-> setAttribute( PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION );

try{
$stmt = $db-> prepare( "INSERT INTO test ( name ) values( 'new name' );
INSERT INTO xast ( xame ) values( 'new name' );" );
$stmt->execute();
}catch( PDOException $e ){
print_r( $e );
}


try{
$stmt = $db-> prepare( "INSERT INTO xast ( xame ) values( 'new name' );" );
$stmt->execute();
}catch( PDOException $e ){
print_r( $e );
}
**Column not found: 1054 Unknown column 'xame'**

最佳答案

在您的案例中准备多个查询是没有意义的。

首先,prepared statements 专门针对 tins case 发明:一次准备,多次执行。所以,你可以这样准备

INSERT INTO test (name) values(?)

然后执行与插入次数一样多的次数

下一步。对于 INSERT 查询,Mysql 支持在一个查询中使用多个 VALUES 子句,例如

INSERT INTO test (name) values ('new name' ),('name'),(...)

等等。

如果您需要在插入后更新 - 也没问题。
只需运行 2 个单独的查询 - 一个 INSERT 和一个 UPDATE。不会有任何问题。

关于php - pdo 执行多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14332041/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com