$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/