با سلام و احترام خدمت اساتید محترم
در حین درج اطلاعت در دیتابیس به خطا زیر میخورم
PHP Fatal error: Uncaught PDOException: SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected in /home/mansour/PhpstormProjects/pdo/insert.php:23
کدهای من در فایل connect.php
<?php
list($host,$database,$user,$pass)=["localhost","pdo","root",""];
$db = new PDO("mysql:host=$host;dbname=$database;charset=utf8mb4",$user, $pass );
try {
$db=new PDO("mysql:host=$host;database=$database;user=$user;password=$pass");
echo"Connect SuccessFully" .PHP_EOL;
}
catch(PDOException $error){
echo "PDO ERROR : Faild To Connect :" .$error->getMessage() ."On Line :" .$error->getLine();
exit();
}
کدهای من در فایل insert.php
<?php
include_once 'connect.php';
$sql = "INSERT INTO user (id, fullName, age, city) VALUES (?,?,?,?)";
$stmt = $db->prepare($sql);
$users = [
[1, 'aren', 2, 'kish'],
[2, 'mahsa', 31, 'tehran'],
[3, 'mansour', 34, 'golpayegan']
];
$db->beginTransaction();
foreach ($users as $user) {
$stmt->execute($user);
if ($user[1] == "mahsa") {
exit();
}
}
$db->commit();
سوال اول : خطا No database selected در صورتی که از فایل connect.php تست میگیرم ، دیتابیس متصل است ولی برای درج اطلاعات خطا میدهد
سوال دوم : در فایل connect.php جهت امتحان یکسری مقادیر را عوض کردم که به دیتابیس متصل نشود و پیغام خطا بگیرم ، اما عبارتی که درون رشته نوشتم چاپ نشد
echo "PDO ERROR : Faild To Connect :" .$error->getMessage() ."On Line :" .$error->getLine();
پیشاپیش از زحمات شما سپاسگذارم .