PDA

View Full Version : سوال: مشکل در کانکت شدن در pdo



perkas
جمعه 07 آذر 1393, 20:40 عصر
سلام

من این کد رو نوشتم برای اتصال به پایگاه mysql

ولی پیغام ارور دورن کچ رو بهم بر میگردونه

مشکل کجاست ؟؟؟؟



<?php
try {
$servername="localhost";$dbname="pdo";$username="root";$password="";$dsn="mysql:host=$servername;dbname=$dbname";$connect=new PDO ($dsn,$username,$password);return $connect;
} catch (PDOException $error) {
echo "Error in connect";exit();

}
?>

ashkufaraz
جمعه 07 آذر 1393, 21:35 عصر
مشکل از مقادیر ورودیت هست دیگه یا سروری یا نام کاربری یا رمز عبور یا نام بانک اشتباه هست یا وجود ندارد که نم یتواند به اون وصل بشود

perkas
جمعه 07 آذر 1393, 21:47 عصر
مقادیر همه درست هستند

از wamp استفاده میکنم در نتیجه سرور localhost هست
دیتابیس رو هم با نام pdo ساختم و یوزر بصورت پیش فرض هم که root هست و بدون پسورد

ashkufaraz
جمعه 07 آذر 1393, 22:10 عصر
$error->getMessage( )

به جای متن ثابت داخل catch
اینو بنویس ببین متن خطا چیه؟

perkas
جمعه 07 آذر 1393, 22:18 عصر
این پیغام رو میده :


SQLSTATE[HY000] [1049] Unknown database 'pdo'

ولی مسئاله اینجاست که این دیتابیس وجود داره
حتی یه دیتا بیس دیگه هم ساختم و نتیجش باز هم همین بود

ashkufaraz
جمعه 07 آذر 1393, 22:25 عصر
شاید pdo کلمه رزرو شده باشد یه اسم دیگه امتحان کنن
یه user, pass تعریف کن و با انون کانکت شو ببین بازم خطا میده

perkas
جمعه 07 آذر 1393, 22:45 عصر
این بار این خطا رو میده :

SQLSTATE[HY000] [1045] Access denied for user 'aaa'@'localhost' (using password: YES)

ashkufaraz
جمعه 07 آذر 1393, 23:14 عصر
grant all privileges on *.* to aaa@localhost identified by 'pass' with grant option;
مجوز نداره اینو امتحان کن ببین چی میشه

perkas
شنبه 08 آذر 1393, 02:09 صبح
یوزر و پس و سایر ورودی ها رو مستقیم به کانکشن دادم درست شد

ولی با انتساب به متغیر نمیدونم چرا کار نمیکنه

به صورت زیر درست هست ولی به صورتی که تو پست اول نوشتم کار نمیکنه



$connect = new PDO('mysql:host=localhost;dbname=pdo', "root", "");

captain_hamid
شنبه 08 آذر 1393, 08:04 صبح
دلیلش اینه که شما متغیر $servername رو تو متغیر $dsn قرار دایدن فک کنم مشکل از همین جا باشه امتحان کنید.