PDA

View Full Version : Access denied for user ''@'localhost' (using password: NO)



spenta
شنبه 14 فروردین 1395, 09:36 صبح
سلام
من در یکی از بخش های سایتم که دارم کدنویسی میکنم با ارور زیر مواجعه شدم

Access denied for user ''@'localhost' (using password: NO)

مربوط به دیتابیسه!

جالب اینجاست که در یک صفحه ی دیگه راحت دارم به دیتابیس کانکت میشم واستفاده میکنم اما اینجا همچین ارور ی میده
باید چکار کنم؟

aaaaaaaa1
شنبه 14 فروردین 1395, 10:11 صبح
دوست عزیز
یک فایل config.php درست کنید.
سپس پسورد و نام کاربری رو وارد نمایید .
در بقییه صفحات آن را فراخوانی کنید
require_one('config.php')
دقت کنید.
با define اول مسیر رو ست کنید که باگی هم بوجود نیاد.
به این صورت میتونید استفاده کنید.
define('ROOT_DIR', realpath(dirname(__FILE__)) .DIRECTORY_SEPARATOR);
کد بالا مربوط به روت سایت است.
برای آدرس دهی .
require_once(ROOT_DIR.'config.php')
امیدوارم مشکلتون حل بشه. موفق باشید.

Farshid007
شنبه 14 فروردین 1395, 10:44 صبح
تو اون صفحه احتمالن ی ناهماهنگی بین کانکت و اجرای یک کوئری در دیتابیس رخ داده
از کلاس MySQLi استفاد کنید سعی کنید به روش شی گرایی پیش برید چون کدها خوانا تر و کار کدنویس راحت تر است
همانطور که دوستمون گفتند اطلاعات مربوط به کانکت شدن به دیتابیس (نام کاربری ، پسورد ، نام دیتا بیس و...) رو تو فایلی مثل کانفیگ ایجاد کنید (برای امنیت بیشتر دسترسی به این فایل رو DENY FROM ALL کنید که این کار با .htaccess قابل انجام)
نمونه کد برای کلاس MySQLi به روش شی گرایی:

$db=new MySQLi();
$db->connect('localhost','root','','mydb');
$query='Select * from table1';
$result=$db->query($query);
while($row=$result->fetch_assoc())
{
echo $row['0'];
}