php - 为什么插入查询结果不显示在数据库中?

标签 php mysql pdo

$db = new PDO("mysql:host=$host;dbname=$dbname",$user,$password) ; 
$insert = $db->query("INSERT INTO register (First_name,Last_name) VALUES ('ram','shyam')") ;
if($insert) {
    echo "true" ;
} else {
    $db->errorCode() ;
    echo "false" ;
} 

它给出输出 true,但数据库中没有条目。

最佳答案

如果条目没有显示在具有相同凭据和数据库的同一主机上,并且您的查询确实有效,驱动程序表示条目已成功插入,那么您的数据库很可能是在 non-autocommit mode 中配置的。 。检查此输出:

mysql> show variables like 'autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit    | OFF   |
+---------------+-------+
1 row in set (0.00 sec)

您需要重新打开它(默认)或添加 COMMIT声明(带有 PDO )。顺便说一句,您可以在同一连接中SELECT未提交的条目:

var_dump($db->query('select * from register')->fetchAll());

关于php - 为什么插入查询结果不显示在数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34591190/

相关文章:

php - PHP 究竟是如何创建超全局 $_POST、$_GET、$_COOKIE 和 $_REQUEST 的?

mysql - 具有相同列名但 id 不同的 2 个表的 View

mysql - 用户条目的数据库设计(使用mysql)

PHP PDO 无法连接到本地主机

javascript - 如何将美化类 prettyprint 更改为我们喜欢的其他类名?

java - 学术合作的开源平台

php - Laravel Eloquent 查询中的 Intval 函数

c# - 值被赋予 mysql 命令中的参数,但它没有返回正确的 id

php - PDO多次插入记录,等于数据库值

php - 为什么这个 PDO 语句会默默地失败?