-
کمک برای اتصال به دیتابیس
با سلام و احترام
من وقتی می خوام وارد سایتم بشم بهم خطای زیر رو می ده
Database Connection Failed!
فکر میکنم مربوط به کدای زیر باشه
لطفا راهنمایی بفرمایید
<?php
define( "_DOMAIN", "40tike.ir" );
require_once( $_file_base."libs/adodb/adodb.inc.php" );
$ado_dsn = "mysql://".DB_USER.":".DB_PASSWORD."@".DB_HOST."/".DB_NAME;
$db = newadoconnection( $ado_dsn );
if ( $db )
{
exit( "Database Connection Failed!" );
}
$rs = $db->execute( "SET NAMES 'utf8'" );
$rs = $db->execute( "SET CHARACTER SET 'utf8'" );
$rs = $db->execute( "SET SESSION collation_connection ='utf8_general_ci'" );
$rs = $db->execute( "SET CHARACTER_SET_RESULTS='utf8'" );
if ( $rs )
{
exit( $db->errormsg( ) );
}
$_AD_SYSTEM = null;
require_once( $_file_base."include/email.inc.php" );
require_once( $_file_base."include/functions.inc.php" );
load_settings( $_AD_SYSTEM );
error_reporting( E_ALL );
$license = str_replace( array( "http://", "www.", "/" ), "", $_SERVER['SERVER_NAME'] );
if ( $license != _DOMAIN )
{
echo "<a href='http://www.myweb.com'>Invalid License</a>";
exit( );
}
?>
-
نقل قول: کمک برای اتصال به دیتابیس
سلام
اولا ما نمی دونیم که شما توی فایل های unctions.inc.php و email.inc.php شمااصلا چی دارید؟
و یک مطلب دیگر اینکه من فکر می کنم که شما این کد ها رو از یکجا کپی کردید چون ما کسی رو نداریم که اینقدر بتونه حرفه ای عمل کنه!(جسارتا)
به نظر من اگر میتونی کد را تغییر بدی از این که سادتر هست استفاده کن.
کد HTML:
$hostname_doktor = "localhost";
$database_doktor = "sono";
$username_doktor = "root";
$password_doktor = "123";
$Link = mysql_pconnect ($hostname_doktor, $username_doktor, $password_doktor);
و به طور مثال یک Select هم انجام بده
کد HTML:
$Query = "SELECT * FROM `bimytarefe` ";
$Result565 = mysql_db_query ($database_doktor, $Query, $Link);
while ($Row5656 = mysql_fetch_array ($Result565)) {
echo $Row5656['noobime']; }
اگر مشکل حل نشد و یا سوالی داشتی می توانید ایمیل بزنید Mohsen.moradnejadi@gmail.com
من زیاد اینجا نمیام
-
نقل قول: کمک برای اتصال به دیتابیس
ممنونم
کدها برای من نیست
اسکریپت خریدم و روی هاست دیگه ای نصب کردم که این خطا رو میده
-
نقل قول: کمک برای اتصال به دیتابیس
یعنی اینکه قبلا درست کار می کردند و حالا رو این هاست جدید error میده؟
اگر این طور باشه باید user name و password و connection رو چک کنی
ممکنه مشکلات متعددی پیش آمده باشه
-
نقل قول: کمک برای اتصال به دیتابیس
بله
هاستم رو عوض کردم ولی الان رو هاست جدید کار نمی کنه
-
نقل قول: کمک برای اتصال به دیتابیس
ممکنه USERNAME و Passwordو db nameرا ببین تغییر نکردن و ببین از یک کانکشن در این سایت استفاده میشه که در همه جا include شده یا چندین کانکشن وجود داره ؟
باید بیشتر توجه کنی !
اگر کمک میخواهی متونی فایل های مربوط رو بزاری تا باهم نگاه کنیم!
ولی 100% مشکل با توجه کردن به این مواردی که گفتم حل میشه!
و در ضمن نگاه کن ببین روی ای هاست جدید اصلا Mysql نصب است یا اصلا نام پایگاه داده و Table هاش چه جوریه!
راستی اصلا table ها رو روی هاست جدید ایجاد کردی یا نه؟
نمی دونم در این سطح صحبت میکنم خوبه یا نه؟یعنی به موارد دیگه فکر بکنم یا نه! یعنی ممکنه اشتباه دیگری کرده باشید؟
-
نقل قول: کمک برای اتصال به دیتابیس
من دیتا بیس رو ایجاد کردم
import
ولی نام دیتابیسم با قبلا فرق داره
هر طور شما بفرمایید می رم جلو
از وب سامان خریدم (سیستم کلیکی)
-
نقل قول: کمک برای اتصال به دیتابیس
خوب شما با نام دیتا بیس را دخل کد هاتون پیدا کنید و بعد به import تغییر بدی
و بعدش نگفتی که اگر table که نیاز بوده ایجاد کردی؟
از کنترل پنل hosting باید استفاده بکنید!
-
نقل قول: کمک برای اتصال به دیتابیس
بعدش بگو از چه هاستینگی استفاده می کنید؟
پارالرز؟
از کنترل پنل هاستینگ استفاده کن!
داخل میتونی از php my admin استفاده کنید!
-
نقل قول: کمک برای اتصال به دیتابیس
منظورتون رو متوجه نشدم
من نام دیتابیس رو به اسم دیتابیس خودم تغییر دادم
Tabel از کجا ؟
دیتا بیس رو از phpmyadmin من import کردم.
-
نقل قول: کمک برای اتصال به دیتابیس
می تونی یه کار راحتر هم بکنی و انهم اینکه نام دیتابیسی که ایجاد کردی را دوباره Rename کنی نام دیتا بیسی که قبلا داشتی!
-
نقل قول: کمک برای اتصال به دیتابیس
ولی من اکانت هاست جدیدم فرق داره
من نمی تونم اکانت رو عوض کنم.
-
نقل قول: کمک برای اتصال به دیتابیس
نقل قول:
نوشته شده توسط
iman65
منظورتون رو متوجه نشدم
من نام دیتابیس رو به اسم دیتابیس خودم تغییر دادم
Tabel از کجا ؟
دیتا بیس رو از phpmyadmin من import کردم.
ببین ما میخواهیم این هاستینگ را شبیه هاستینگ قبلی بکنیم! خوب !
بسگتی به هاستینگ داره که اجازه بده که بگذارد که نام دیتابیس رو تغییر بدی یا نه!
بعضی ها مگزارن و بعضی ها نه؟
-
نقل قول: کمک برای اتصال به دیتابیس
شما رو کامپیوتر خونه (سرور مجازی) داری یا نه؟ (برای آموزش)
-
نقل قول: کمک برای اتصال به دیتابیس
iman ببین موارد درست چک کن ببین با هاستینگ قبلی درست است یا نه؟
1-نام پایگاه داده
2-نام کاربری پایگاه داده
3-رمز ورود پایگاه داده
4-امپورت کردن صحیح table ها
5-خاموش یا روشن بودن register global
6-فایلhttacces روی هاست هست یا نه؟
-
نقل قول: کمک برای اتصال به دیتابیس
ببین شما باید این اطلاعات را درست بهش بدی!
require_once( $_file_base."libs/adodb/adodb.inc.php" );
$ado_dsn = "mysql://".DB_USER.":".DB_PASSWORD."@".DB_HOST."/".DB_NAME;
فکر کنم از خط بالای include میشن!
فعلا کار دارم 9 شب برمیگردم!
موفق باشی
-
نقل قول: کمک برای اتصال به دیتابیس
فایل httacces رو دارم
رو سرور تست می کنم
-
نقل قول: کمک برای اتصال به دیتابیس
چی شد؟
درست شد؟
بگو ببینیم چه کارها کردی؟
-
نقل قول: کمک برای اتصال به دیتابیس
فایل هاش با zend کد شده
من باز کردم
و نام دامنه جدید رو گذاشتم و الان با همون خطا مواجه هستم
نتونستم
-
نقل قول: کمک برای اتصال به دیتابیس
پس شما چی خریداری کردینه که ZEND کدشون کرده؟
مگر شما Source را نخریدین؟
در مورد register global چیکار کردین؟
-
نقل قول: کمک برای اتصال به دیتابیس
برای من مقداری داره ماجرا عجیب میشه چون شما گویا کار خاصی نکردین فقط یه جابجایی انجام دادینه؟
نگفتید روی سرور کامپوتر شخصی تون کار میکنه یا نه؟
در کل اگر این موارد رو که ذکر کردم درست انجام داده باشید نباید مشکلی داشته باشید!
1-نام پایگاه داده
2-نام کاربری پایگاه داده
3-رمز ورود پایگاه داده
4-امپورت کردن صحیح table ها
5-خاموش یا روشن بودن register global
می توانید یه php info هم از server بگیرید و با هاستینگ قبلی مقایسه کنید تا خلیی از سوالات برطرف بشه!
-
نقل قول: کمک برای اتصال به دیتابیس
register global رو می شه روشن کرد تو هاست
من اینو قبلا خریدم
الان باید شارژ کنم
سورس رو که نمی فروشن ولی اسکریپت رو هاستم رو برداشتم
می خوام decode کنم
-
نقل قول: کمک برای اتصال به دیتابیس
اگر با zend اینکد شده باشن به سختی دی کد میش!
-
نقل قول: کمک برای اتصال به دیتابیس
decode کردنش ساده هست
ولی تا حالا adob ندیدم
باید اینو حل کنم
-
نقل قول: کمک برای اتصال به دیتابیس
می توانید یه php info هم از server بگیرید و با هاستینگ قبلی مقایسه کنید تا خلیی از سوالات برطرف بشه!
از دوتا سرور بگیر!
-
نقل قول: کمک برای اتصال به دیتابیس
من php کار نیستم
ولی چشم
این به چه کار میاد ؟
-
نقل قول: کمک برای اتصال به دیتابیس
نقل قول:
نوشته شده توسط
iman65
decode کردنش ساده هست
ولی تا حالا adob ندیدم
باید اینو حل کنم
منظورت از adob چیه؟
Adobe Dreamweaver CS4 یا Optimazer یا ....
-
1 ضمیمه
نقل قول: کمک برای اتصال به دیتابیس
-
نقل قول: کمک برای اتصال به دیتابیس
نقل قول:
نوشته شده توسط
iman65
من php کار نیستم
ولی چشم
این به چه کار میاد ؟
یک فایل txt میسازی و بعدش توش مینویسی
<?php phpinfo(); ?>
و بعدش این فایل را تغییر میدی به .php و تو دوتا سرور آپلود می کنی و اجرا می کنی!
و بعد با هم مقایسه کن
-
نقل قول: کمک برای اتصال به دیتابیس
اینکارو کردم
الان تو صفحه هستم
-
نقل قول: کمک برای اتصال به دیتابیس
آخه سایت اولم فکر می کنم از این هاستای reseller باشه یعنی وب سامان خودش خریده شیر میکنه
دومی رو خودم خریدم
-
نقل قول: کمک برای اتصال به دیتابیس
این هایی که شما ضمیمه کردین به نظر یه مقدار فایل بی ارزش هستن!
چون ماله یه Cms آماده مثلا e107 میتونه یا... باشه؟
اصلا ارزشش را داره ؟
فایل هایی که فرستادی به نظرم کامل نبودن!
چون اصلا اون نوشته های پست قبلت داخلشون نبود!!!!!
-
نقل قول: کمک برای اتصال به دیتابیس
می تونم اسکریپت رو بدم شما نگاه کنید ؟
اگه licence حل شد به من هم بدید.
-
نقل قول: کمک برای اتصال به دیتابیس
تو فایل
adodb.inc.php
به خط 419
function Connect($argHostname = "", $argUsername = "", $argPassword = "", $argDatabaseName = "", $forceNew = false)
مقدار بده!
-
نقل قول: کمک برای اتصال به دیتابیس
نقل قول:
نوشته شده توسط
iman65
می تونم اسکریپت رو بدم شما نگاه کنید ؟
اگه licence حل شد به من هم بدید.
والا الان چند تا کار دستمه که وقت نمیکنم
الان که دارم با شما صحبت می کنم جزو وقت بیکاریمه !
اگر توجه بکنی من کاربر تازه واردم چون تازه این جا عضو شدم و همین جوری می گشتم!
حقیقش خودپسندی نباشه ولی من مقام اول برنامه نویسی Wordskills(در ایران) را دارم و اصلا تو این گفتگو ها شرکت نمی کردم
حالا خدا خواست من با شما صحبت کنم به هر صورت اگر میشه خودتون کارهایی رو که گفتم انجام بدین!
چون در حال حاضر نمی توانم.
-
نقل قول: کمک برای اتصال به دیتابیس
Database Connection Failed!
این خطا رو دارم
-
نقل قول: کمک برای اتصال به دیتابیس
از شما بی نهایت سپاسگذارم
-
نقل قول: کمک برای اتصال به دیتابیس
معمولا این گونه سایت ها یه فایل به اسم Connection یا یه چیزی این چنینی دارند و توی اون فایل این طلاعات را می خوانند !
و در جا ها ی دیگر Include میکنن تا از اطلاعات فایل استفاده بکنند تا هر زمان که می خواستند که تغییر را اعمال کنند و کل سایت خراب نشه!
-
نقل قول: کمک برای اتصال به دیتابیس
-
نقل قول: کمک برای اتصال به دیتابیس
موفق شدید adob.php رو decode کنید؟
اگه آره، تابع newadoconnection هست که ارور میده. برید سراغش و تیکه تیکه ازش مقدار return کنید ببینید دقیقا کجاش متوقف میشه.
مثلا تو خط اولش Connect میخواد بکنه. همونجا مقداری که میده رو اینجوری نمایش بدید:
function newadoconnection($dsn)
{
$result = connect(......);
die( var_dump($result) . mysql_error() );
همیجوری جلو برید تا محل دقیق اشکال رو پیدا کنید.
-
نقل قول: کمک برای اتصال به دیتابیس
decode کردم کامل
الان راهنمایی شما رو انجام می دم
-
نقل قول: کمک برای اتصال به دیتابیس
function &NewADOConnection($db='')
{
$tmp =& ADONewConnection($db);
return $tmp;
}
-
1 ضمیمه
نقل قول: کمک برای اتصال به دیتابیس
-
نقل قول: کمک برای اتصال به دیتابیس
این بخش مربوط به تابع ADONewConnection در خط 3988 هست.
این تابع چند بخش داره که هر بخش که به ارور برسه return false می کنه. کدی رو که دادم رو به انتهای هر بخش اضفافه کنید تا ببینید تابع تا کجا پیش میره.مثلا
die("here");
رو تو خط 4012 بذارید. اگه مقدارش چاپ شد یعنی تابع تا این خط پیش رفته. پاکش کنید و تو خط 4026 بذارید تا آخر که مشخص بشه کدوم return داره اجرا میشه.
-
نقل قول: کمک برای اتصال به دیتابیس
من تا آخرین خط رفتم
here داد !
-
نقل قول: کمک برای اتصال به دیتابیس
من تا آخرین خط رفتم و خطای here رو داد بهم
-
نقل قول: کمک برای اتصال به دیتابیس
این تابع رو ببینید:
function &ADONewConnection($db='')
{
GLOBAL $ADODB_NEWCONNECTION, $ADODB_LASTDB;
if (!defined('ADODB_ASSOC_CASE')) define('ADODB_ASSOC_CASE',2);
$errorfn = (defined('ADODB_ERROR_HANDLER')) ? ADODB_ERROR_HANDLER : false;
$false = false;
if ($at = strpos($db,'://')) {
$origdsn = $db;
if (PHP_VERSION < 5) $dsna = @parse_url($db);
else {
$fakedsn = 'fake'.substr($db,$at);
$dsna = @parse_url($fakedsn);
$dsna['scheme'] = substr($db,0,$at);
if (strncmp($db,'pdo',3) == 0) {
$sch = explode('_',$dsna['scheme']);
if (sizeof($sch)>1) {
$dsna['host'] = isset($dsna['host']) ? rawurldecode($dsna['host']) : '';
$dsna['host'] = rawurlencode($sch[1].':host='.rawurldecode($dsna['host']));
$dsna['scheme'] = 'pdo';
}
}
}
die( var_dump($dsna) . __LINE__ ); //////////////////////////////////////////////
if (!$dsna) {
// special handling of oracle, which might not have host
$db = str_replace('@/','@adodb-fakehost/',$db);
$dsna = parse_url($db);
if (!$dsna) return $false;
$dsna['host'] = '';
}
die( var_dump($dsna) . __LINE__ ); //////////////////////////////////////////////
$db = @$dsna['scheme'];
if (!$db) return $false;
$dsna['host'] = isset($dsna['host']) ? rawurldecode($dsna['host']) : '';
$dsna['user'] = isset($dsna['user']) ? rawurldecode($dsna['user']) : '';
$dsna['pass'] = isset($dsna['pass']) ? rawurldecode($dsna['pass']) : '';
$dsna['path'] = isset($dsna['path']) ? rawurldecode(substr($dsna['path'],1)) : ''; # strip off initial /
if (isset($dsna['query'])) {
$opt1 = explode('&',$dsna['query']);
foreach($opt1 as $k => $v) {
$arr = explode('=',$v);
$opt[$arr[0]] = isset($arr[1]) ? rawurldecode($arr[1]) : 1;
}
} else $opt = array();
}
/*
* phptype: Database backend used in PHP (mysql, odbc etc.)
* dbsyntax: Database used with regards to SQL syntax etc.
* protocol: Communication protocol to use (tcp, unix etc.)
* hostspec: Host specification (hostname[:port])
* database: Database to use on the DBMS server
* username: User name for login
* password: Password for login
*/
if (!empty($ADODB_NEWCONNECTION)) {
$obj = $ADODB_NEWCONNECTION($db);
die( var_dump($obj) . __LINE__ ); //////////////////////////////////////////////
} else {
if (!isset($ADODB_LASTDB)) $ADODB_LASTDB = '';
if (empty($db)) $db = $ADODB_LASTDB;
if ($db != $ADODB_LASTDB) $db = ADOLoadCode($db);
die( var_dump($db) . __LINE__ ); //////////////////////////////////////////////
if (!$db) {
if (isset($origdsn)) $db = $origdsn;
if ($errorfn) {
// raise an error
$ignore = false;
$errorfn('ADONewConnection', 'ADONewConnection', -998,
"could not load the database driver for '$db'",
$db,false,$ignore);
} else
ADOConnection::outp( "<p>ADONewConnection: Unable to load database driver '$db'</p>",false);
return $false;
}
$cls = 'ADODB_'.$db;
if (!class_exists($cls)) {
adodb_backtrace();
die( "CLASS NOT EXISTS " . __LINE__ ); //////////////////////////////////////////////
return $false;
}
$obj = new $cls();
}
die( var_dump($obj) . __LINE__ ); //////////////////////////////////////////////
# constructor should not fail
if ($obj) {
if ($errorfn) $obj->raiseErrorFn = $errorfn;
if (isset($dsna)) {
if (isset($dsna['port'])) $obj->port = $dsna['port'];
foreach($opt as $k => $v) {
switch(strtolower($k)) {
case 'new':
$nconnect = true; $persist = true; break;
case 'persist':
case 'persistent': $persist = $v; break;
case 'debug': $obj->debug = (integer) $v; break;
#ibase
case 'role': $obj->role = $v; break;
case 'dialect': $obj->dialect = (integer) $v; break;
case 'charset': $obj->charset = $v; $obj->charSet=$v; break;
case 'buffers': $obj->buffers = $v; break;
case 'fetchmode': $obj->SetFetchMode($v); break;
#ado
case 'charpage': $obj->charPage = $v; break;
#mysql, mysqli
case 'clientflags': $obj->clientFlags = $v; break;
#mysql, mysqli, postgres
case 'port': $obj->port = $v; break;
#mysqli
case 'socket': $obj->socket = $v; break;
#oci8
case 'nls_date_format': $obj->NLS_DATE_FORMAT = $v; break;
}
}
if (empty($persist))
$ok = $obj->Connect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
else if (empty($nconnect))
$ok = $obj->PConnect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
else
$ok = $obj->NConnect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
if (!$ok)
{ //////////////////////////////////////////////
die( var_dump($obj) . __LINE__ ); //////////////////////////////////////////////
} //////////////////////////////////////////////
return $false;
}
}
die( var_dump($obj) . __LINE__ ); //////////////////////////////////////////////
return $obj;
}
به خطهایی که علامت گذاشتم دقت کنید. این خطها رو به ترتیب حذف کنید تا اشکال پیدا بشه. اگه مقدار خروجی همه خطها رو اینجا بذارید خیلی بهتر میشه.
-
نقل قول: کمک برای اتصال به دیتابیس
برای اولی البته MY_DATABASE و MY_PASSWORD اکانت دیتابیس هاستم بود که نذاشتم اینجا
array(5) { ["scheme"]=> string(5) "mysql" ["host"]=> string(9) "localhost" ["user"]=> string(10) "MY_DATABASE" ["pass"]=> string(7) "MY_PASSWORD" ["path"]=> string(11) "/MY_DATABASE" } 4012
برای دومی
array(5) { ["scheme"]=> string(5) "mysql" ["host"]=> string(9) "localhost" ["user"]=> string(10) "MY_DATABASE" ["pass"]=> string(7) "MY_PASSWORD" ["path"]=> string(11) "/MY_DATABASE" } 4020
برای سومی
Database Connection Failed!
برای چهارمی
Database Connection Failed!
برای پنجمی
array(5) { ["scheme"]=> string(5) "mysql" ["host"]=> string(9) "localhost" ["user"]=> string(10) "MY_DATABASE" ["pass"]=> string(7) "MY_PASSWORD" ["path"]=> string(11) "/MY_DATABASE" } 4054
-
نقل قول: کمک برای اتصال به دیتابیس
آقا امیر حسین این کدها قبلا همگی اجرا میشدن روی سرور قدیمیش ولی الان با سرور جدید iman مشکل داره !
یعنی منظورم اینه که خود توابع درست هستن مشکل با Connection الان وجود داره!
با نظرم موافقی یا نه ؟
ممنون که کمک کردین
-
نقل قول: کمک برای اتصال به دیتابیس
ممنون از دوستان عزیزم
ببینید این فایل conf.inc هست
ما تو این فایل اول نام دامنه رو چک می کنیم که اگه با سایت فرق داشته باشه redirect میشیم به سایت سازنده و اگه دامنه یکی بود خطاهای دیگه چک می شه
البته این فایل کد شده بود و من دیکد کردم
ممنونم از اینکه کمک می کنید
<?php
define( "_DOMAIN", "اینجا اسم دامنه سایت چک میشه" );
require_once( $_file_base."libs/adodb/adodb.inc.php" );
$ado_dsn = "mysql://".DB_USER.":".DB_PASSWORD."@".DB_HOST."/".DB_NAME;
$db = newadoconnection( $ado_dsn );
if ( $db )
{
exit( "Database Connection Failed!" );
}
$rs = $db->execute( "SET NAMES 'utf8'" );
$rs = $db->execute( "SET CHARACTER SET 'utf8'" );
$rs = $db->execute( "SET SESSION collation_connection ='utf8_general_ci'" );
$rs = $db->execute( "SET CHARACTER_SET_RESULTS='utf8'" );
if ( $rs )
{
exit( $db->errormsg( ) );
}
$_AD_SYSTEM = null;
require_once( $_file_base."include/email.inc.php" );
require_once( $_file_base."include/functions.inc.php" );
load_settings( $_AD_SYSTEM );
error_reporting( E_ALL );
$license = str_replace( array( "http://", "www.", "/" ), "", $_SERVER['SERVER_NAME'] );
if ( $license != _DOMAIN )
{
echo "<a href='http://www.websaman.com'>Invalid License</a>";
exit( );
}
?>