۱۶ سید جمال جلالی
مشکل در اجرای کد؟؟
جامعه پی اچ پی ایجاد شده در ۲۳ مرداد ۱۴۰۱

سلام

با توجه به تصویر زیر من code1 و code 2 رو که به همین ترتیب با هم اجرا میکنم code1 اجرا میشه ولی code 2 ارور میده.....حالا جالبه وقتی ترتیبشون رو جابجا کنم و اول code 2 رو بزارم و بعد code1 هر دو به درستی اجرا میشن و همه چی اوکیه.....میتونین راهنماییم کنین مشکل از کجاست ؟؟

//............................(code 1)....................
$sql = "select avg(age) as age_average ,count(*) as population from people";
$result = $mysqli->prepare($sql);
$result->execute();
$result->bind_result($age_average, $population);
$result->fetch();
echo $age_average;
echo "
"
; echo $population; echo "
"
; //..............................(code 2)..................... $sql = "select fullname,age from people"; $result = $mysqli->prepare($sql); $result->execute(); $result->bind_result($fullname, $age); while ($result->fetch()) {     echo "
$fullname : $age
"
; } echo "
"
; //...........................................................

تازه اگه در همین حالتی که عکسشو گذاشتم کد 1 رو کامنت کنم کد 2 به درستی کار میکنه !!!!!

سلام دوست عزیز

چه خطایی دریافت میکنید؟

محمد گازری ۲۳ مرداد ۱۴۰۱، ۱۶:۱۵
Fatal error: Uncaught mysqli_sql_exception: Commands out of sync; you can't run this command now in C:\\xampp\\htdocs\\7Learn.php\\php-mysql-drivers\\mysqli\\06-select.php:59 Stack trace: #0 C:\\xampp\\htdocs\\7Learn.php\\php-mysql-drivers\\mysqli\\06-select.php(59): mysqli->prepare('select fullname...') #1 {main} thrown in C:\\xampp\\htdocs\\7Learn.php\\php-mysql-drivers\\mysqli\\06-select.php on line 59
سید جمال جلالی ۲۳ مرداد ۱۴۰۱، ۱۹:۳۴

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

محمد گازری ۲۴ مرداد ۱۴۰۱، ۰۳:۳۲

هر کار میکنم اینجا ارسال نمیشه

سید جمال جلالی ۲۴ مرداد ۱۴۰۱، ۰۶:۱۵

باید زیپ کنید

محمد گازری ۲۴ مرداد ۱۴۰۱، ۰۶:۲۰

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

سید جمال جلالی ۲۴ مرداد ۱۴۰۱، ۰۶:۲۲

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

لینک ریپازیتوریش رو اینجا قرار بدین

محمد گازری ۲۴ مرداد ۱۴۰۱، ۰۶:۲۳

https://gitlab.com/jamaljalali68/test

سید جمال جلالی ۲۴ مرداد ۱۴۰۱، ۰۶:۳۶

بکاپ sql همون جدول رو قرار بدین فقط!

محمد گازری ۲۴ مرداد ۱۴۰۱، ۰۷:۵۹

اوکی شد...........دیگه آماتور هستیم ببخشید...:))

سید جمال جلالی ۲۴ مرداد ۱۴۰۱، ۰۸:۴۵

لطفا بکاپ sql رو قرار بدین!

وارد phpmyadmin بشید و پایگاه داده مورد نظر رو انتخاب کنید

سپس روی export کلیک کنید

ad61-Screen Shot 2022-08-15 at 16.52.12.png

محمد گازری ۲۴ مرداد ۱۴۰۱، ۱۲:۲۴

گرفتمش و گذاشتم داخل

https://gitlab.com/jamaljalali68/test

الان در دسترس است

سید جمال جلالی ۲۴ مرداد ۱۴۰۱، ۱۲:۳۵

بعد از fetch کد ۱ دستور زیر رو وارد کنید

$result2->close();

موفق باشید ?

محمد گازری ۲۵ مرداد ۱۴۰۱، ۰۴:۲۶

ممنون ...مشکل حل شد......

من این کد close رو برای چند جای دیگه هم تست کردم...(آخر دستور prepare)....بعضی جاها نزاری هم ارور نمیده......ولی بعضی جاها حتما باید بزاری.....علتش چیه ؟؟؟

سید جمال جلالی ۲۵ مرداد ۱۴۰۱، ۰۴:۳۵

علتش اینه که ۲ تا کوئری مشابه در buffer mysql ذخیره میشه و در صورت استفاده پشت سر هم به مشکل میخوری اگر close نکرده باشی

بهترین پاسخ
محمد گازری ۲۵ مرداد ۱۴۰۱، ۰۴:۴۰

ممنون از وقتی که گذاشتین...

سید جمال جلالی ۲۵ مرداد ۱۴۰۱، ۰۴:۴۲