۴ پیام نصری
خطای Notice: Array to string conversion در مرحله حذف فولدر ها
امیر صالحی حل شده توسط امیر صالحی

سلام ، وقتتون بخیر

 

من تمام مراحلی که استاد طی پروژه انجام دادند رو جلو رفتم اما وقتی روی دکمه حذف فولدر کلیک میکنم با این خطا رو به رو میشم ، شکل کلی خطا به این شکل هست :

Notice: Array to string conversion in C:\xampp\htdocs\ForestKnight.php\7Todo\libs\libs-tasks.php on line 30

 : که در لاین ۳۰ همین خطا من کد‌های کوئری به دیتابیس رو دارم


function deleteFolder($folder_id){
   global $dbh;
   $sql = "DELETE FROM folders WHERE id = $folder_id";
   $stmt = $dbh->prepare($sql);
   $stmt->execute();
   return $stmt->rowCount();
}

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

دورد

ظاهرا ورودی که به تابهتون میدید یک آرایه هستش، نوع ورودیتون رو حتما چک کنید و مطمئن شید که یک عدد میاد.

 

function deleteFolder($folder_id){
	var_dump(gettype($folder_id));
	die();
   global $dbh;
   $sql = "DELETE FROM folders WHERE id = $folder_id";
   $stmt = $dbh->prepare($sql);
   $stmt->execute();
   return $stmt->rowCount();
}

کد بالا رو اجرا کنید و ببینید نوع ورودی که میاد سمتتون چیه

امیر صالحی ۱۷ مرداد ۱۴۰۰، ۱۴:۵۷

بله ورودی آرایه هستش ، چطور میتونم ورودی رو تغییر بدم ؟

string(5) "array"
پیام نصری ۱۷ مرداد ۱۴۰۰، ۱۵:۲۲

این جایی هست که مقدار به تابع داده میشه : 

 <?php  foreach($folders as $folder){?>
          <li>
             <a href="?folder_id=<?= $folder->id ?>"><i class="fa fa-folder"></i><?= $folder->name ?></a>
             <a href="?delete_folder=<?= $folder->id ?>"><i class="fa fa-trash-o"></i></a>
          </li>
          <?php };?>
پیام نصری ۱۷ مرداد ۱۴۰۰، ۱۶:۱۲

باید حتما از آرایه $GET که داخلش delete_folder وجود داره و مقدارش آیدی فولدر هستش و پاس بدیم، به این شکل:

$_GET['delete_folder']
بهترین پاسخ
امیر صالحی ۱۶ شهریور ۱۴۰۰، ۱۷:۵۹