• اطلاعیه ها

    • Saeed Fard

      پوشش زنده وردکمپ ۲۰۱۸ اروپا توسط وردپرس پارسی   23/03/97

      اگر کاربر وردپرس هستید حتما تا به حال اسم وردکمپ رو شنیدید، کمپ و دورهمی بزرگ توسعه‌دهنده‌ها و کاربران وردپرس که سالانه در کشورهای مختلف برگزار میشه تحت عنوان وردکمپ هستش که از سمت مراجع اصلی وردپرس حمایت و برگزار می‌شه.   این‌ بار در سال 2018 وردکمپ اروپا در شهر بلگراد کشور صربستان در حال برگزاری هستش، این رویداد طی سه روز 24 تا 26 تیر ماه (June 14-16) برگزار میشه، در این رویداد مصطفی صوفی از وردپرس پارسی و به نمایندگی تمامی کاربران وردپرس فارسی حضور داره. وردپرس پارسی رویداد وردکمپ 2018 اروپا رو به صورت زنده توسط مصطفی پوشش می‌ده و در صورت علاقه‌مندی به این مراسم می‌تونید از طریق وردپرس پارسی دنبالش کنید.در حال حاضر یک روز از این مراسم گذشته که گزارش اون در قسمت پوشش زنده قرار گرفته. برای دنبال کردن مراسم وردکمپ اروپا به صورت لحظه‌ای به صفحه پوشش زنده در قسمت زیر مراجعه کنید. همینطور در آینده منتظر خبر برگزاری اولین وردکمپ در ایران توسط وردپرس‌پارسی باشید. https://wp-parsi.com/wceu-2018

      لینک خبر در وردپرس پارسی : https://wp-parsi.com/wceu-2018-live  
Anisi

مشکل با دریافت آیدی آخرین رکورد درج شده در دیتابیس

18 پست در این موضوع قرار دارد

سلام

من از دستور


$order_id = $dbModel->insert_id;

برای دریافت آخرین رکورد درج شده در جدول استفاده می کنم، اما خطای زیر رو میده!


Notice: Undefined property: dbModel::$insert_id

ویرایش شده در توسط Anisi
0

به اشتراک گذاری این پست


لینک به پست

کوئری شما چی هست؟

اون کلاس چی هست؟

از روی این تیکه کد که نمیشه چیزی گفت

1

به اشتراک گذاری این پست


لینک به پست

کوئری شما چی هست؟

اون کلاس چی هست؟

از روی این تیکه کد که نمیشه چیزی گفت

کوئریم INSERT هست.

کلاس هم کلاس ارتباط با دیتابیس mysqli هست که کدش رو قبلا در این تاپیک گذاشتم:

0

به اشتراک گذاری این پست


لینک به پست

بصورت زیر استفاده کنید:

$last_id = $this->con->insert_id;

1

به اشتراک گذاری این پست


لینک به پست

بصورت زیر استفاده کنید:

$last_id = $this->con->insert_id;

نه! آخه $dbModel عضوی از کلاس نیست. یک شیئه که در خود تابع ایجاد شده.

ویرایش شده در توسط Anisi
0

به اشتراک گذاری این پست


لینک به پست

الان به این شکله؟

$dbModel = کوئری

0

به اشتراک گذاری این پست


لینک به پست

الان به این شکله؟

$dbModel = کوئری

به این شکله:


$myDb = new dbModel;
$query = "INSERT INTO test (username, password)
VALUES ($username, $password)";
$result = $myDb-> query($query);
$last_id = $myDb->insert_id;

0

به اشتراک گذاری این پست


لینک به پست

دوستان، آیا مشکلی در کدها هست یا خطا از جای دیگه ای آب می خوره؟

ویرایش شده در توسط Anisi
0

به اشتراک گذاری این پست


لینک به پست

این رو تست کنید:

$last_id = $result->insert_id;

0

به اشتراک گذاری این پست


لینک به پست

این رو تست کنید:

$last_id = $result->insert_id;

این رو هم تست کرده بودم، جواب نداد!

0

به اشتراک گذاری این پست


لینک به پست

طبق این کدهایی که دادید باید جواب میداد.

1

به اشتراک گذاری این پست


لینک به پست

آخه جواب نمیده! چه باید کرد؟ من خودمم هرچی گشتم همین کد فقط بود.

ویرایش شده در توسط Anisi
0

به اشتراک گذاری این پست


لینک به پست

اینو تست کنید


$id = mysqli_insert_id($link);

link کانکشن دیتابیس هست

2

به اشتراک گذاری این پست


لینک به پست

کد اخری که Parsa گذاشته باید جواب بده


Notice: Undefined property: dbModel::$insert_id

ایا همچین پراپرتی برای کلاستون ایجاد کردین که دارین فراخونیش میکنین؟(معنی این پیغام همین هست)

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

3

به اشتراک گذاری این پست


لینک به پست

کد اخری که Parsa گذاشته باید جواب بده


Notice: Undefined property: dbModel::$insert_id

ایا همچین پراپرتی برای کلاستون ایجاد کردین که دارین فراخونیش میکنین؟(معنی این پیغام همین هست)

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

این پراپرتی پیش فرض mysql هست. اگر اشتباه می کنم دوستان تصحیح کنن!

0

به اشتراک گذاری این پست


لینک به پست

درسته مربوط به mysqli هست

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

بهتره در کلاستون insert_id را به متغییر لوکال نسبت بدهید و اون رو استفاده کنید

4

به اشتراک گذاری این پست


لینک به پست

این پراپرتی پیش فرض mysql هست. اگر اشتباه می کنم دوستان تصحیح کنن!

اشتباه شما همینجاس همون طور که پارسا گفت شما دارین از کلاس ساخته شده توسط خودتون استفاده میکنین به همین خاطر خطا میده که این خاصیت رو پیدا نمیکنه

شما یه متغییر public اول کلاست تعریف کن به اسم

public $insert_id
;

و در انتهای تابع query کلاست

$insert_id = $this->con->insert_id;

اونو مقدار دهی کن تا بتونی


$myDb = new dbModel;
$query = "INSERT INTO test (username, password)
VALUES ($username, $password)";
$result = $myDb-> query($query);
$last_id = $myDb->insert_id;

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

هر کلاسی محدوده(scop)خودشو داره و خاصیت کلاس هم اینه که تا چیزی رو درونش Public نکنی به هیچ کد دیگه ای اجازه دسترسی به اون چیز رو نمیده

4

به اشتراک گذاری این پست


لینک به پست

عجب اشتباهی! بعضی وقتا کارایی می کنما. :wacko:

ممنون

ویرایش شده در توسط Anisi
0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری