$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但数据库中没有条目。
答案 0 :(得分:1)
如果条目没有显示在具有相同凭据和数据库的同一主机上,并且您的查询确实有效,则驱动程序说,条目已成功插入,那么您的数据库很可能在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());
答案 1 :(得分:0)
请你试试这个
<?php
function Conect()
{
if (!($link=mysql_connect("localhost","root","")))
{
echo "error to connect to database.";
exit();
}
if (!mysql_select_db("database_name",$link))
{
echo "Error to select database.";
exit();
}
return $link;
}
$link=Conect();
$value1=$_POST['value1'];
$value2=$_POST['value2'];
$value3=$_POST['value3'];
$query="insert into database.tablename(field1,field2,field3)".
"values('$value1','$value2','$value3')";
$action =mysql_query($query,$link);
if (!$action) {
die('has not insert: ' . mysql_error());
?> <font color="blue" face="arial" size="4">not insert</font> <?php
}
?> <font color="blue" face="arial" size="4">was insert</font> <?php
mysql_close($link);
是一个小例子