آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

kuorosh  10 سال پیش  10 سال پیش
+1 0

سلام با این خطا مواجه هستم

ممنون اگه بگید مشکل کجاست؟؟؟

منتظرم دوستان.

0 0
ببین خط 37 فایل db چیه. من حدس میزنم ارتباط داره با متد کوئری. (10 سال پیش)
+1 0
فکر کنم تو صدا کردن db از $this استفاده نکردی (10 سال پیش)
0 0
دقیقا حرفی هست که حسین جان زده non-object یعنی میگه من انتظار داشتم شی ای به ان اشاره کنه در صورتی که چنین شی ای وجود نداره پس باید ببینی یجا از کدت از $this استفاده کردی یا نه امکانم داره connectionکه برای db تعریف کردی کلی تعریف کردی و به شی اختصاص ندادی یعنی کانکشن رو ساختی ولی نه برای اون شی (10 سال پیش)
 برای این سوال 7 پاسخ وجود دارد.
پاسخ به سوال 
kuorosh  10 سال پیش
+1 0

سلام دوستان خط 37 از دیتابیس اینه به نظرتون مشکلش کجاست.

public function query($sql){
$result = $this->connection->query($sql);
$records = array();
if ($result->num_rows==0) {
return null;
}

while($row = $result->fetch_assoc()) {
$records[] =$row;
}
return $records;
}


0 0
دوست عزیز بهتون گفتم که اونجایی که نوشتی $this->connection->query خالی هست احتمالا موقع ساخت کانکشن $this نذاشتی وکلی تعریف کردی و اون شی که ساختی به dbوصل نیس کافیه چک کنی ببینی برای وصل شدن به db و ساخت کانکشن از this استفاده کردی یا نه (10 سال پیش)
0 0
مشکل انگار از خط 37 یا متد query نیست. یه سوال؟ آیا از query برای update رکورد یا delete از دیتابیس استفاده نکردی؟ چون برا منم یه بار این خطا اومد. بعدش فهمیدم که دارم از متد اشتباهی برای آپدیت یا خذف رکورد استفاده میکنم. متد query فقط برای گزارش گیری هست از دیتابیس و من اینو قبلش نمیدونستم. یه چک بکنید شاید دلیلش این باشه. (10 سال پیش)
پاسخ به سوال 
kuorosh  10 سال پیش
+1 0

من فقط همین چیزهایی که استاد در فصل دوم گفتند رو پیاده  کردم.

ولی خودم هم نمیدونم که مشکل چیه؛ چون همه رو درست تایپ کردم و جابجا نیست.

حالا جریان چیه نمیدونم.

اینم تیکه کدشه.

 

<?
require_once('common.php');
require_once('config.php');
require_once('db.php');

$db = new Db();
$records = $db->query("SELECT * FROM x_note LEFT OUTER JOIN x_user ON x_note.user_id=x_user.user_id");
dump($records);
?>


این کد پایین مربوط به دیتابیسه

<?php
class Db {

private $connection;
public function __constructor($option = null){


if ($option != null){
$host=$option['host'];
$user=$option['user'];
$pass=$option['pass'];
$name=$option['name'];
} else {
global $config;
$host = $config['db']['host'];
$user = $config['db']['user'];
$pass = $config['db']['pass'];
$name = $config['db']['name'];
}

$this->connection = new mysqli($host, $user, $pass, $name);
if ($this->connection->connect_error) {
echo"Connection failed: " . $this->connection->connect_error;
exit;
}
$this->connection->query("SET NAMES 'utf8'");

}
public function first($sql){
$records = $this->query($sql);
if($records == null){
return null;
}
return $records[0];
}
public function query($sql){
$result = $this->connection->query($sql);
$records = array();
if ($result->num_rows==0) {
return null;
}

while($row = $result->fetch_assoc()) {
$records[] =$row;
}
return $records;
}

public function connection(){
return $this->connection;
}

public function close(){
$this->connection->close();
}
}

منتظر کمکتون هستم

0 0
دوباره ویدیو رو نگاه کردم. اشکال از کدهای این بخش از فایل شما نیست. اگه ممکنه کدهای فایل index رو بذارید تا شاید ایراد اگه از اونجا باشه پیداش کنیم. (10 سال پیش)
0 0
کدهای فایل config رو بذارید. ایندکس رو دیدم اول همین کد ها گذاشتید. (10 سال پیش)
0 0
خود دیتابیس رو هم بررسی کنید. ببینید اسم جدول ها و فیلدها دقیقا همینایی هست که توی کد نوشتید یا خیر. (10 سال پیش)
پاسخ به سوال 
kuorosh  10 سال پیش
+1 0

خیلی ممنونم که راهنمایی میکنید.

این هم کدهای کانفیک هستش

<?php
global $config;
$config['db']['host'] = 'localhost';
$config['db']['user'] = 'root';
$config['db']['pass'] = '';
$config['db']['name'] = 'notes';
+1 0
اشکال از اینجا هم نیست. خود دیتابیس رو چک کردین؟ اگه ایراد از اونجا هم نباشه احتمال داره یه ایرادی در تابع dump از فایل common باشه. اونم بررسی کنید. چون فایل های اصلی که index و db و config بودن ایرادی ندارن، دیگه باید ایراد یا از دیتابیس باشه یا فایل common. (10 سال پیش)
پاسخ به سوال 
kuorosh  10 سال پیش
+1 0

دیتا بیس فکر نکنم مشکلی داشته باشه شاید از همون دامپ باشه

باید دوباره چک کنم . ولی کامن رو هم از همونی که استاد گفت نوشتم.

دیتابیس هم تغییری نکرده

خبرشو میدم بهتون

بازم ممنون که رسیدگی کردید واقعا متشکرم

 

پاسخ به سوال 
kuorosh  10 سال پیش
+1 0

این کدهای کامن هستش

چیز خاصصی نداشت


<?
function br($ret = false){
if ($ret){
return "<br>\n";
} else {
echo "<br>\n";
}
}
?>
<?
function hr($return = false) {
if ($return) {
return "<hr>\n";
} else {
echo "<hr>\n";
}
}
?>
<?
function dump ($var, $return = false ) {
if (is_array($var)) {
$out = print_r($var, true);
} else if (is_object($var)) {
$out = var_export($var, true);
} else {
$out = $var;
}
if ($return) {
return "<pre>$out</pre>";
} else {
echo "<pre>$out</pre>";
}
}
?>
0 0
به نظر میاد آدرس فایل پروژه notess یک s اضافه داره اینو درستش کنید احتمالا حل میشه اگه دقیقا طبق آموزش جلو رفته باشین notes درسته C:\dev\workspace\web\notes\db.php (10 سال پیش)
پاسخ به سوال 
fandroid  10 سال پیش
+5 0

سلام دوست عزیز مشکلت رو یافتم constructor نیس construct هست واسه همین کانکشن ساخته نمیشه اصلاح کن درست میشه :)

پاسخ به سوال 
kuorosh  10 سال پیش
+3 0

Oh My God

آب در کوزه و ما تشنه لبان میگردیم.

واقعا این همه دقت عالی بود.

خدای من اصلا باورم نمیشد که این همه الاف شدن سر دوتا حرف اضافه باشه.

خیلی عالی بود و ممنونم از تون واقعا.

برای همه دوستان که جواب دادند و جواب ندادند آرزوی موفقیت میکنم و امیدوارم از این مشکل ها برای هیچ کدومتون پیش نیاد.

0 0
خواهش میکنم دوست عزیز کاری نکردم موفق باشی :) (10 سال پیش)
0 0
بسیار تایپیک هوشمندانه ای بود و بسیار کار ساز من هم این مشکل رو داشتم و از طریق این تایپیک مشکلی ک یک ساعت مشغولش بودمر حل کردم بسیار ممنون (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .