• 1399/03/09

مشکل در insert شدن menu ها :

سلام و عرض خسته نباشید 

اقای خسروجردی بنده وقتی یک منوی جدید می سازم insert در دیتابیس نمیشه

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

خط به خط با ویدئو شما مطابقت دادم کد ها رو تو قسمت create اما بازم فرقی حاصل نشد

 

  • 1399/03/09
  • ساعت 22:09

با سلام خدمت شما همراه گرامی

 

قبل از خط ریدایرکت یک ور دامپ + exit بذارید تا خطا مشخص بشه


  • 1399/03/09
  • ساعت 22:34

بله انجام دادم 

SQLSTATE[HY000]: General error: 1364 Field 'parent_id' doesn't have a default valueobject(DataBase\DataBase)#2(6){["connection":"DataBase\DataBase":private]=> object(PDO)#3 (0) { } ["option":"DataBase\DataBase":private]=> array(2) { [3]=> int(2) [19]=> int(2)}["dbHost":"DataBase\DataBase":private]=>string(9)"localhost" ["dbName":"DataBase\DataBase":private]=>string(4)"blog" ["dbUsername":"DataBase\DataBase":private]=>string(4)"root" ["dbPassword":"DataBase\DataBase":private]=> string(5) "mysql" } 

این خطا رو نشون داد

 


  • 1399/03/09
  • ساعت 23:01

خطا مشخص هست parent_id مقدار نگرفته

 

فرم‌رو چک کنید


  • 1399/03/10
  • ساعت 17:53

سلام ممنون 

مشکل از تیبل من بود

من به پرنت ایدی بجای دیفالت نال ، نات نال داده بودم 

که حذف کردم دوباره ساختم مشکلم حل شد 

گفتم اعلام کنم شاید کسی مثل من این اشکال رو پیدا کرد 

 


  • 1399/03/10
  • ساعت 18:19

خب خداروشکر که حل شد

 

 

موفق و سربلند باشید


  • 1399/03/10
  • ساعت 18:58

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

Invalid parameter number: number of bound variables does not match number of tokensobject

اگه بخوام منویی که پرنت ایدیش == ""  هست رو ادیت بکنم بعد تغییرو بدم وقتی روی اپدیت میزنم اینو نمایش میده

اما اگه یک پرنت ایدی داشته باشه بدون مشکل اپدیت رو انجام میده

کلا php خیلی علاقه داره مشکل ایجاد کنه:/


  • 1399/03/10
  • ساعت 19:06

نه نه دوست عزیزم این مشکل از سمت من هست

 

من یک اشتباهی توی کدها کردم که یک بخش به دوره اضافه میکنم و این مشکل حل میشه بجای values value گذاشته شده

 

ممنون از پیگیری شما


  • 1399/03/10
  • ساعت 19:10

یعنی استاد الان من کدوم بخش رو باید تغییر بدم که مشکل حل شه؟

توی بخش Database بخش update؟

 


  • 1399/03/10
  • ساعت 19:15

بله‌ دوست‌عزیزم در‌متد اپدیت


  • 1399/03/10
  • ساعت 19:27

ببخشید استاد زیاد سوال می پرسم

اما توی متد اپدیت کدوما رو باید تغییر بدیم 

ورودیش که نباید تغییر پیدا کنه

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

 public function update($tableName,$id,$fields,$values)
    {
        $sql = "UPDATE `".$tableName."` SET";
        foreach (array_combine($fields,$values) as $field=>$value){
            if ($values){
                $sql.=" `".$field."`= ? ,";
            }
            else{
                $sql .= "`".$field."`.= NULL,";
            }
        }
        $sql .= " `updated_at` = now()";
        $sql .= " WHERE `id` = ?";
        try {
            $stmt= $this->connection->prepare($sql);
            $affectedrows=$stmt->execute(array_merge(array_filter(array_values($values)),[$id]));
            if(isset($affectedrows) ){
                echo "Record Update";
            }
            return true;

        }
        catch (PDOException $e){
            echo "<div style='color:red;'> There is some problem in connection :</div>". $e->getMessage();
            return false;
        }
    }
  

  • 1399/03/10
  • ساعت 21:04
    public function update($tableName, $id, $fields, $values)
    {

            $sql = "UPDATE `".$tableName."` SET";
            foreach (array_combine($fields,$values) as $field=>$value){
                if($value)
                    $sql .= " `".$field."`= ? ,";
                else
                    $sql .= " `".$field."`= NULL,";
            }
            $sql .= " `updated_at`= now() ";
            $sql .= " WHERE `id` = ? ;" ;
        try{
            $stm = $this->connection->prepare($sql);
            $affectedrows  = $stm->execute(array_merge(array_filter(array_values($values)), [$id]));
            if(isset($affectedrows))
            {
//                echo "<div style='color: green;'>Record has been successfully updated</div>";
            }

            return true;

        }
        catch (PDOException $e)
        {
            echo "<div style='color: red;'>There is some problem in connection: </div>" . $e->getMessage();
            return false;
        }

}

  • 1399/03/10
  • ساعت 21:15

خیلی ممنون استاد

 


  • 1399/03/10
  • ساعت 21:18

سلامت باشید


logo-samandehi