سلام و عرض خسته نباشید
اقای خسروجردی بنده وقتی یک منوی جدید می سازم insert در دیتابیس نمیشه
اما بدون خطا ردایرکت میشه به قسمت منو اینکسش
خط به خط با ویدئو شما مطابقت دادم کد ها رو تو قسمت create اما بازم فرقی حاصل نشد
با سلام خدمت شما همراه گرامی
قبل از خط ریدایرکت یک ور دامپ + exit بذارید تا خطا مشخص بشه
بله انجام دادم
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" }
این خطا رو نشون داد
خطا مشخص هست parent_id مقدار نگرفته
فرمرو چک کنید
سلام ممنون
مشکل از تیبل من بود
من به پرنت ایدی بجای دیفالت نال ، نات نال داده بودم
که حذف کردم دوباره ساختم مشکلم حل شد
گفتم اعلام کنم شاید کسی مثل من این اشکال رو پیدا کرد
خب خداروشکر که حل شد
موفق و سربلند باشید
استاد الان یک مشکلی ایجاد شده
Invalid parameter number: number of bound variables does not match number of tokensobject
اگه بخوام منویی که پرنت ایدیش == "" هست رو ادیت بکنم بعد تغییرو بدم وقتی روی اپدیت میزنم اینو نمایش میده
اما اگه یک پرنت ایدی داشته باشه بدون مشکل اپدیت رو انجام میده
کلا php خیلی علاقه داره مشکل ایجاد کنه:/
نه نه دوست عزیزم این مشکل از سمت من هست
من یک اشتباهی توی کدها کردم که یک بخش به دوره اضافه میکنم و این مشکل حل میشه بجای values value گذاشته شده
ممنون از پیگیری شما
یعنی استاد الان من کدوم بخش رو باید تغییر بدم که مشکل حل شه؟
توی بخش Database بخش update؟
بله دوستعزیزم درمتد اپدیت
ببخشید استاد زیاد سوال می پرسم
اما توی متد اپدیت کدوما رو باید تغییر بدیم
ورودیش که نباید تغییر پیدا کنه
الان یکیشو دست زدم خطا داد گفتم از خودتون بپرسم بهتره
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;
}
}
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;
}
}
خیلی ممنون استاد
سلامت باشید