Я новичок в php. Я создал форму php, которая будет вставлять данные в базу данных. Я использую имя базы данных Emp, а имя таблицы - это информация. Я вставляю PDO. Я написал код для этого, и он запускается без каких-либо ошибок, но база данных по-прежнему пуста. Я разместил свой код ниже, пожалуйста, скажите мне, что я делаю неправильно.Вставка данных в базу данных с использованием php
<?php
try{
echo $_POST['name'].", ".$_POST['age'].", ".$_POST['email'].", ".$_POST['name'].", ".$_POST['country'].", ". $_POST['city'] ;
$user="root";
$pass="root123";
$con=new PDO('mysql:host=localhost;dbname=Emp', $user, $pass);
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$con->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$con->beginTransaction();
//echo "INSERT INTO info(Empid,Ename,Age,Email,Country,City,Salary) VALUES('".$_POST['eid']."','".$_POST['name']."','".$_POST['age']."','".$_POST['email']."','".$_POST['country']."','".$_POST['city']."','".$_POST['salary']."')";
$num=$con->exec("INSERT INTO info(Empid,Ename,Age,Email,Country,City,Salary) VALUES('".$_POST['eid']."','".$_POST['name']."','".$_POST['age']."','".$_POST['email']."','".$_POST['country']."','".$_POST['city']."','".$_POST['salary']."')");
echo "<br>".$num." row added succesfully"; // this is displayed when I execute this but database is empty.
}
catch(Exception $e)
{
echo 'Exception -> ';
var_dump($e->getMessage());
}
?>
, что происходит при выполнении этого запроса непосредственно в базу данных? – zzlalani
Вы начинаете транзакцию с 'beginTransaction()', но она не будет отображаться в базе данных до тех пор, пока вы не завершите транзакцию с помощью 'commit()' –
. Майк прав, вам нужно «commit» @ user2655318 – zzlalani