PDA

View Full Version : مبتدی: اتصال به دیتابیس



DelDard
چهارشنبه 12 آبان 1395, 11:04 صبح
سلام
یه هاست رایگان گرفتم و یه چیز ساده میخام روش بالا بیارم که فقط اطلاعات رو از یه فرم بگیره و بریزه تو یه دیتابیس
از این کد


$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();


اما ارور زیر رو میده


Connection failed: ProxySQL Error: Access denied for user 'MyUsername' (using password: YES)


اون 4 تا متغیر اول رو درست ست کردم و مشکل از اونا نیست
میشه راهنمایی کنید بگید این ProxySQL Errorچیه و چطور باید رفعش کنم؟

تشکر از شما

lizard.tiny
چهارشنبه 12 آبان 1395, 11:08 صبح
سلام
یه هاست رایگان گرفتم و یه چیز ساده میخام روش بالا بیارم که فقط اطلاعات رو از یه فرم بگیره و بریزه تو یه دیتابیس
از این کد


$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();


اما ارور زیر رو میده


Connection failed: ProxySQL Error: Access denied for user 'MyUsername' (using password: YES)


اون 4 تا متغیر اول رو درست ست کردم و مشکل از اونا نیست
میشه راهنمایی کنید بگید این ProxySQL Errorچیه و چطور باید رفعش کنم؟

تشکر از شما
سلام

خطا واضح هست, اطلاعات اتصال به دیتابیس درست نیست

توجه داشته باشید اگه هاست شما cPanel هست لازم هست بعد از ایجاد دیتابیس و ایجاد User باید این دو رو به هم متصل کنید

همچنین در برخی از هاست ها آدرس اتصال به دیتابیس localhost نیست, بلکه یک IP هست, در این خصوص از پشتیبانی هاستتون این مورد رو بپرسید و مطمئن شید آدرس رو درست وارد کردید

DelDard
چهارشنبه 12 آبان 1395, 11:29 صبح
هاستم 000webhost هست که خب من دیتابیس و تیبل رو ساختم با phpmyadmin وتمام اون چهار متغیر مورد نیاز برای اتصال رو درست ست کردم و البته از localhost استفاده کردم که خب داخل phpmyadmin زده Server: localhost پس فکر کنم مشکل از اطلاعات اتصال به دیتابیس نیست
تشکر از پاسختون ممنون میشم باز هم راهنمایی کنید

lizard.tiny
چهارشنبه 12 آبان 1395, 11:32 صبح
توی سرویس های
000webhost آدرس هاست localhost نیست

معمولاً به این شکل هست : mysql15.000webhost.com البته ممکنه بسبه به سروریس که روش اکانت ایجاد شده این آدرس فرق داشته باشه پس قبل از هر چیز بگردید آدرس MySQL رو پیدا کنید و مطمئن هستم که روی
000webhost این آدرس localhost نیست چون قبلاً ازش استفاده کردم

DelDard
چهارشنبه 12 آبان 1395, 12:12 عصر
نه داداش لوکال هاسته
تا چند روز پیش من خودم داشتم همینطور که شما میگید بود با اکانت قبلیم که میرفتم ولی اکانت جدید بسازی روی 000webhost از cPanle استفاده نمیکنه و الان که میرم کنترل پنل همین لوکال هاست زده. شما متن ارور رو ببینید زده چیز دیگه

البته کلن این کنترل پنل جدید 000webhost واقعا دردسر درست کرده و مثل قبل راحت نیست. این تاپیک قبلیم هم بخونید یه مشکل دیگم باش دارم http://barnamenevis.org/showthread.php?531950
ممنون ازت دوست خوبم

lizard.tiny
چهارشنبه 12 آبان 1395, 12:29 عصر
الان یک اکانت ساختم و کد شما رو اجرا کردم بدون مشکل اجرا میشه


لینک : https://ltiny.000webhostapp.com/test.php

کد : http://pastecode.ir/?p=786

مشکلی نداره, فکر میکنم شما یکجا رو دارید اشتباه عمل میکنید

البته در اسم دیتابیس تماماً از حروف کوچک و _ استفاده کنید

DelDard
چهارشنبه 12 آبان 1395, 12:56 عصر
ممنون از وقتی که گذاشتی دوستم
من پاکش میکنم و یه دور دیگه از اول انجام میدم ببینم مشکل از کجاست

lizard.tiny
چهارشنبه 12 آبان 1395, 12:58 عصر
ممنون از وقتی که گذاشتی دوستم
من پاکش میکنم و یه دور دیگه از اول انجام میدم ببینم مشکل از کجاست

اگه هاست رو واسه تست میخوایید بهتره از هاست رایگان parspack استفاده کنید هم دایرکت ادمین هست هم بهینه هست