PDA

View Full Version : سوال: رفع پيغام خطا



Mahdi_110
پنج شنبه 17 مرداد 1392, 19:09 عصر
سلام دوستان من يه اسكريپت دارم روي لوكال نصب ميكنم
بعد از ساخت كاربر در پايگاه داده و اتصال به آن و اجراي اسكريپت براي نصب با اين پيام روبرو ميشيم

http://www.8pic.ir/images/12793579855472860823.jpg

فايل constant.php
از خط يك تا پنجم


<?php
mysql_connect(SQL_SERVER, SQL_USER, SQL_PASS);
mysql_select_db(SQL_DB);
$sql = mysql_query("SELECT * FROM ".TB_PREFIX."config");
$result = mysql_fetch_array($sql);

//////////////////////////////////

فايل database.php

از خط يك تا بيست و يك



<?php

set_time_limit(0);
date_default_timezone_set('Asia/Tehran');
include("connection.php");
include("constant.php");

class MYSQL_DB {

var $connection;

function MYSQL_DB() {
$this->connection = MYSQL_connect(SQL_SERVER, SQL_USER, SQL_PASS, SQL_DB) or die(MYSQL_error());
}
function query($query) {
return $this->connection->query($query);
}

};

class MYSQL_DB {

var $connection;

function MYSQL_DB() {
$this->connection = mysql_connect(SQL_SERVER, SQL_USER, SQL_PASS) or die(mysql_error());
mysql_select_db(SQL_DB, $this->connection) or die(mysql_error());
}

function mysql_exec_batch ($p_query, $p_transaction_safe = true) {
if ($p_transaction_safe) {
$p_query = 'START TRANSACTION;' . $p_query . '; COMMIT;';
};
$query_split = preg_split ("/[;]+/", $p_query);
foreach ($query_split as $command_line) {
$command_line = trim($command_line);
if ($command_line != '') {
$query_result = mysql_query($command_line);
if ($query_result == 0) {
break;
};
};
};
return $query_result;
}

براي رفع خطا چه بايد انجام بدم ؟

p30online
پنج شنبه 17 مرداد 1392, 19:40 عصر
فکر کنم این کدهارو بد نوشتی


mysql_connect(SQL_SERVER, SQL_USER, SQL_PASS);


باید این بنویسی



mysql_connect("localhost","root","")


این خط کد را هم اشتباه است



mysql_select_db(SQL_DB);


این طور بنویس



mysql_select_db('نام بانک اطلاعاتی');

یا



mysql_select_db("نام بانک اطلاعاتی");

hamedarian2009
پنج شنبه 17 مرداد 1392, 22:23 عصر
شما بهتره بعد دستورات کانکت به دیتابیس از تابع die هم استفاده کنید تا بهتر بتونید خطاهارو تشخیص بدین


mysql_connect("localhost","root","") or die ('could not connect to mysql:'.mysql_error());


بعد بهتر میتونید بفهمید خطا از کجاست

Mahdi_110
پنج شنبه 17 مرداد 1392, 22:39 عصر
دوست عزيز تمامي فرمايشات را انجام دادم ولي دوبره همون پيام را ميدهد
تغريرات اعمال شده



<?php

mysql_connect("localhost","root","...") or die ('could not connect to mysql:'.mysql_error());
mysql_select_db("NameDB");
$sql = mysql_query("SELECT * FROM ".TB_PREFIX."config");
$result = mysql_fetch_array($sql);


به اين خط كد پيغام خطا ميدهد


$result = mysql_fetch_array($sql);

مثل اينكه بايد در پرانتز دو مقدار قرار بدهم ولي ...
يعني :


$result = mysql_fetch_array($sql,...);

Mahdi_110
جمعه 18 مرداد 1392, 02:53 صبح
سلام
لطفا مديران به اين تاپيك پاسخگويي نمايند .
با تشكر فراوان

p30online
جمعه 18 مرداد 1392, 03:01 صبح
دوست عزیز اون جدولی که می خوای اطلاعاتشو را نشون بدی اسمش چیزه؟
که اینجوری می نویسی



$sql = mysql_query("SELECT * FROM ".TB_PREFIX."config");

Mahdi_110
جمعه 18 مرداد 1392, 04:56 صبح
سلام
توسط اين كد به جدول config متصل ميشوم


$sql = mysql_query("SELECT * FROM ".TB_PREFIX."config");

p30online
جمعه 18 مرداد 1392, 09:37 صبح
نیازی به اون نیست این طور بنویس بنویس ببین جواب میده یا نه؟


mysql_query("SELECT * FROM TB_PREFIX");

AliRezaPro
جمعه 18 مرداد 1392, 11:57 صبح
شما برای پارامتر دوم میتونید MYSQL_NUM یا MYSQL_ASSOC و .... قرار بدید
البته احتمال میدم ساینتکسی مشکل دارید
شما سلکت خودتون رو بصورت مستقیم بزنید ببینید جواب مییرید ؟
مثل کد پست بالا

Mahdi_110
شنبه 19 مرداد 1392, 02:55 صبح
با عرض سلام و خسته نباشيد
مشكل از اتصال به پايگاه داده و جدول config بود كه حل كردم .
موفق باشيد
اين تاپيك بسته شود
با تشكر از دوستان :
p30online و hamedarian2009 و man7tomani