سلام من کتبخانه را نصب کردیم اما بعد از عوض کردن کانکشنم به این ارور میخورم
"Fatal error: Uncaught InvalidArgumentException : Incorrect connection options in C:\xampp\htdocs\Micro.php \vendor\catfan\medoo\src\Medoo.php on line 275"
سلام و احترام
لطفا کدی که برای ارتباط به دیتابیس دارید رو قرار بدید تا بررسی شه و لطفا بگید که کانکشنتون رو به چی تغییر دادید
امیر صالحی۲۹ تیر ۱۴۰۰، ۱۸:۲۹
<?php
namespace App\Models\Contracts;
use Medoo\Medoo;
class MysqlBaseModel extends BaseModel
{
public function __construct(){
try {
// $connection = new \PDO("mysql:dbname={$_ENV['DB_NAME']};host={$_ENV['DB_HOST']}", $_ENV['DB_USER'], $_ENV['DB_PASS']);
// $connection->exec("set name utf8");
$this->connection = new Medoo([
// [required]
'type' => 'mysql',
'host' => $_ENV['DB_HOST'],
'database' => $_ENV['DB_NAME'],
'username' => $_ENV['DB_USER'],
'password' => $_ENV['DB_PASS'],
// [optional]
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_general_ci',
'port' => 3306,
// [optional] Table prefix, all table names will be prefixed as PREFIX_table.
'prefix' => '',
// [optional] Enable logging, it is disabled by default for better performance.
'logging' => true,
// [optional]
// Error mode
// Error handling strategies when error is occurred.
// PDO::ERRMODE_SILENT (default) | PDO::ERRMODE_WARNING | PDO::ERRMODE_EXCEPTION
// Read more from https://www.php.net/manual/en/pdo.error-handling.php.
'error' =>\PDO::ERRMODE_EXCEPTION
]);
} catch (Exception $e) {
echo "Faild to coonect " . $e->getMessage;
}
}
public function create(array $data) : int{
$this->connection->insert($this->table, $data);
return $this->connection->id();
}
public function find(int $id) : object{
$record = $this->connection->get($this->table , [$this->primaryKey => $id]);
return (object)$record;
}
public function getAll() : array{
return [];
}
public function get(array $columns, array $where) : array{
return [];
}
# Update records
public function update(array $data, array $where) : int{
return 1;
}
# Delete records
public function delete(array $where) : int{
return 1;
}
}
ابراهیم محمدی۳۰ تیر ۱۴۰۰، ۰۳:۵۱
این کد رو با تغییر اطلاعات دیتابیس مثل username و password و dbname تست کنید و خبر بدید، من تستش کردم مشکلی نداشت
try {
// $connection = new \PDO("mysql:dbname={$_ENV['DB_NAME']};host={$_ENV['DB_HOST']}", $_ENV['DB_USER'], $_ENV['DB_PASS']);
// $connection->exec("set name utf8");
$connection = new Medoo([
// [required]
'type' => 'mysql',
'host' => 'localhost',
'database' => 'test',
'username' => 'root',
'password' => '',
// [optional]
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_general_ci',
'port' => 3306,
// [optional] Table prefix, all table names will be prefixed as PREFIX_table.
'prefix' => '',
// [optional] Enable logging, it is disabled by default for better performance.
'logging' => true,
// [optional]
// Error mode
// Error handling strategies when error is occurred.
// PDO::ERRMODE_SILENT (default) | PDO::ERRMODE_WARNING | PDO::ERRMODE_EXCEPTION
// Read more from https://www.php.net/manual/en/pdo.error-handling.php.
'error' =>\PDO::ERRMODE_EXCEPTION
]);
echo "successfully connected";
} catch (Exception $e) {
امیر صالحی۳۰ تیر ۱۴۰۰، ۰۸:۰۲
پس مشکل ما ما استفاده از این connection حل شد
$pdo = new PDO('mysql:dbname=test;host=127.0.0.1', 'user', 'password');
$database = new Medoo([
// Initialized and connected PDO object.
'pdo' => $pdo,
// [optional] Medoo will have different handle method according to different database type.
'type' => 'mysql'
]);
بهترین پاسخ
امیر صالحی۳۰ تیر ۱۴۰۰، ۱۱:۵۰
بله ازت ممنوم امیر جان برای وقتی که گذاشتی و ارورم رو برطرف کردی تو یکی از موفقترین برنامه نویسهای اینده خواهی شد موفق باشی و پایدار