مشکل در اتصال به دیتابیس

سلام دوستان من تازه php رو شروع کردم وقتی میخام به دیتا بیس وصل بشم این پیغامو میده میخاستم بدونم میدونید مشکل از چیه؟

[LTR] Warning: mysql_connect(): No connection could be made because the target machine actively refused it. in C:\inetpub\wwwroot\dba1.php on line 5[/LTR]

اینم کد php ی منه :

[PHPS]<?php
$user="mostafa";
$pass="khodam";
$db="sample";
$link = mysql_connect( "localhost",$user,$pass);
if (!$link)
die("coud nat connect ");
print "sucsses connect<p> ";
mysql_select_db($db) or die("cod not open $db : ".mysql_error());
print "sucsses select database\"$db\"<p> " ;
mysql_close($link);
?>[/PHPS]

من از iis استفاده میکنم تو php.ini هم اینارو اینجوری تنظیم کردم :


[LTR]mysql.default_user = "mostafa"[/LTR]
[LTR]mysql.default_password ="khodam"[/LTR]
[LTR]mysql.default_host ="localhost"[/LTR]
ویندوزمم 7 هست . اگه میشه کمکم کنید کارم گیره
 

saeedeardame

New Member
اگه از easyphp استفاده مي كنيد من كد زير رو براي اتصال ديتا بيس پيشنهاد ميكنم:
ابتدا فايلي بنام config.php بساز با محتويات زير:[PHPS]<?php
//database adress
$DB_HOST="localhost";
//database username
$DB_USER="root";
//database password
$DB_PASS="";
//database name
$DB_NAME="namedatabase";
?>[/PHPS]
حالا در كنار همين فايل، فايلي بنام database بساز با محتويات زير:
[PHPS]<?php
include("config.php");
function Doquery($sql)
{
global $DB_HOST,$DB_USER,$DB_PASS,$DB_NAME;
$cnn=@mysql_connect($DB_HOST,$DB_USER,$DB_PASS);
if($cnn==false)
{
die("can't connect to database");
return false;
}
if(@mysql_select_db($DB_NAME,$cnn)==false)
{
die("can't select database");
return false;
}
if(@mysql_query("set char set utf8")==false)
{
die("database don't support utf8(farsi)");
return false;
}
$r=@mysql_query($sql);
if($r==false)
{
die("error in query<br>$sql</br>".mysql_error());
return false;
}
@mysql_close($cnn);
return $r;
}
?>[/PHPS]
حالا در صفحه اي كه ميخواي query بنويسي اينو بنويس:
[PHPS]include("database.php");[/PHPS]
اتصال درست ميشه:)
 

saeedeardame

New Member
اينم نمونه كد درج با همين روش:wink:
[PHPS]$sql = "INSERT INTO `nametable` (`field1`, `field2`, `field3`) VALUES ('{$_POST["field1"]}','{$_POST["field2"]},'{$_POST["field3"]}');";
Doquery($sql);[/PHPS]
 
بالا که گفتم من از IIS استفاده میکنم و php5 . این کد رو هم تو IIS استفاده کردم بازم به دیتابیس وصل نمیشه !!!! :cry:
 

saeedeardame

New Member
خب چرا به pass$ مقدار دادي؟ مقدارشو خالي بذار ببين درست نميشه؟:-?
مقدار user$ رو هم بذار root
db هم كه نام ديتابيسه

مقادير php.ini رو هم همينجوري درست كن
انشا... كه درست ميشه:neutral:
 
آخرین ویرایش:
همه ی این کارا رو کردم اما بازم درست نشد !!! :-?
دیگه نمیدونم باید چی کار کنم !! :cry:
 
آخرین ویرایش:

farik

Well-Known Member
باسلام.
دوست عزیز حقیقت دیشب یک گوگلی کردم در مورد مشکل شما..کم نبودن کسایی که به این مشکل برخورده بودن..نمونش این:http://stackoverflow.com/questions/8388962/php-mysqlno-connection-could-be-made
چند تا از پاسخ ها رو اینجا میگم ببینین کدومه مشکل:1)داشتن فایروالی که پورت 3306 رو بسته ..
2)کلا mysql سرور در حال ران شدن نیست..
3)مورد دیگه ای که بود این بود که اگه php , mysql روی IIS7 یبر روی ویندوز سرور 2008 در virtual box ران بشه این مشکل رخ میده..دلیلش هم اینه که برای لوکال هاست IPV4 تعریف نشده..در نتیجه mysql پیدا نمیشه.ثل اینکه با اضافه کردن این خطوط به host
[HTMLS]
127.0.0.1 localhost # Additional IPv4 entry
::1 localhost # Existing IPv6 localhost entry
[/HTMLS]
اینم برای توضیحات بیشتر:http://bobstrand.com/totm/2010/04/hey-dude-wheres-my-localhost/
4)آدرس localhost رو به 127.0.0.1 تغییر بدین..
این ها رو از تو همون لینک استخراج کردم..به بقیه هم نگاهی انداختم..ولی فعلا همین ها رو تست کنین..حل نشد بگین بقیه دلایل رو بزارم..
موفق باشید..
 

perna

Member
به جای localhost از 127.0.0.1 استفاده کنید ببینید درست میشه
شاید هم user شما اجازه دسترسی نداره یا grant نشده
 
ممنون ازتون ولی همه ی این کارو رو هم کردم اما بازم درست نشد حتی farik جان تو لینکیم که گذاشته بودی رفتم کارایی که گفته بودو انجام دادم اما بازم درست نشد دیگه نمیدونم چی کار کنم !!! ینی هیچ راهی وجود نداره که این درست بشه ؟؟؟!!!!!!!! :cry:
 

farik

Well-Known Member
باسلام..
میشه بپرسم چرا اصرار دارین از iis استفاده کنین؟...
 

saeedeardame

New Member
من پيشنهاد ميكنم از easyphp استفاده كن، طرز استفاده شو قبلا گفتم.
اگه easyphp نداري از اينترنت دانلود كن.
 
من فک میکنم اصلا سیستم من mysql.exe نداره ینی نصب نیست!!!!! چون من دوتا ویندوز دارم تو ویندوز که سرچ کردم تو پوشه ای که xp رو نصب کردم یه فایل mysql.exe پیدا کرد اما برای سون همچین فایلی نداره !! ینی مشکل از اینه ؟؟ شما همچین فایلی رو دارین؟
 

peyman136

کاربر متخصص مولتی مدیا بیلدر
با توجه به پیامی که نوشتین (چون قبلا دوبار این پیام رو گرفتم و به یه روش رفع شده) مشکل شما فکر میکنم نصب نبودن MySQL هستش (همون طور که خودتون گفتین برای توضیحات بیشتر به سایت http://www.mysql.com/ مراجعه کنید) اول از این مورد مطمئن بشید
بهتره برای اینکه از این قبیل مشکلات نداشته باشید از نرم افزارهایی در برپایی لوکال هاست به شما کمک میکنن استفاده کنید نمونه هاش قبلن معرفی شدن

موفق باشید
پیمان :rose:
 

جدیدترین ارسال ها

بالا