Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO事务代码警告vs mysqli_Php_Mysql_Database_Mysqli_Pdo - Fatal编程技术网

Php PDO事务代码警告vs mysqli

Php PDO事务代码警告vs mysqli,php,mysql,database,mysqli,pdo,Php,Mysql,Database,Mysqli,Pdo,所以我的问题是我应该使用PDO还是mysqli。我担心使用PDO,因为下面的警告来自 警告:某些MySQL表类型(存储引擎)不支持事务。当使用不支持事务的表类型编写事务数据库代码时,MySQL将假装事务已成功启动。此外,发出的任何DDL查询都将隐式提交任何挂起的事务 这将在未来造成什么样的问题 如果我改用mysqli会更好吗?(不确定是否存在相同的问题) 我认为这个警告是因为所有类型的mysql存储引擎都不支持事务。不支持事务的引擎将立即自动提交数据。因此,请检查发动机列表以及它们在工作中的差

所以我的问题是我应该使用PDO还是mysqli。我担心使用PDO,因为下面的警告来自

警告:某些MySQL表类型(存储引擎)不支持事务。当使用不支持事务的表类型编写事务数据库代码时,MySQL将假装事务已成功启动。此外,发出的任何DDL查询都将隐式提交任何挂起的事务

  • 这将在未来造成什么样的问题

  • 如果我改用mysqli会更好吗?(不确定是否存在相同的问题)


我认为这个警告是因为所有类型的mysql
存储引擎都不支持事务。不支持事务的引擎将立即自动提交数据。因此,请检查发动机列表以及它们在工作中的差异

mysql> SHOW ENGINES;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+

我认为这个警告是因为所有类型的mysql
存储引擎都不支持事务。不支持事务的引擎将立即自动提交数据。因此,请检查发动机列表以及它们在工作中的差异

mysql> SHOW ENGINES;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+

我对数据库不太熟悉,所以如果我把引擎作为默认引擎,应该可以吗?如果你想使用transaction,那么就使用
InnoDB
,否则就使用默认的。我对数据库不太熟悉,所以如果我把引擎作为默认引擎,应该可以吗?如果你想使用transaction,然后使用InnoDB
,否则使用默认值。