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

سلام

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

$sql ="
CREAdddTE TABLE people(
  id int PRIMARY KEY AUTO_INCREMENT,
  fullname varchar(256),
  age int UNSIGNED,
  sex ENUM('f','m'),
  isSingle boolean DEFAULT 1
);";
if($mysqli->query($sql)){
    
    echo "Table successfully Created";
}else{
    
    echo "Table is not Created!!";
}
print_r($mysqli);

و عبارت CREAdddTE رو اینجور نوشتم تا خطا رو بهم نشون بده ولی fatal eror میده و else و print_r رو اصلا اجرا نمیکنه تا کد خطا رو ببینیم....؟؟؟؟

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

میتونید کدتون رو هم وارد myaql کنید و هم از phpmyadmin کمک بگیرید

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

من کد رو به عمد اشتباه نوشتم تا دستور خطا رو ببینم .....ولی به همون خطا که میرسه دیگه باقی کد رو اجرا نمیکنه تا ببینم کد خطا چی بود؟؟...(مطابق تدریس استاد)

من فقط CREATE رو CREAdddATE نوشتم

سید جمال جلالی ۲۲ مرداد ۱۴۰۱، ۱۴:۱۱
$userdata= array(
    'fullname'=>'jamal jalali',
    'age'=>31,
    'sex'=>'m',
    'isSingle'=>0
);
$sql = "insert into people (fullname, age, sex,isSingle)
values ('{$userdata["fullname"]}',{$userdata["age"]},'{$userdata["sex"]}',{$userdata["isSingle"]})";
if ($mysqli->query($sql)) {
    echo "new user added successfully".PHP_EOL;
} else {
    echo "cannot add user!($mysqli->error)".PHP_EOL;
}

جناب گازری کد من به راحتی اجرا میشه و یوزر جدید هم اضاف میشه و new user added successfuly هم میاد......ولی مشکل من مواقعی هست که مثلا کویری اشکال داره و باید متد else اجرا بشه تا من ببینم چه اروری هست ....اصلا else اجرا نمیشه در مواقع مشکل دار

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

دی این مواقع شما میتونید از بلاک try catch استفاده کنید

try{
   //place code here that could potentially throw an exception
}
catch(Exception $e)
{
  //We will catch ANY exception that the try block will throw
}
محمد گازری ۲۲ مرداد ۱۴۰۱، ۱۵:۲۰

مشکل با try catch حل شد .....ولی واقعا برام سوال هست چرا کد استاد با if else کار میکرد.....منم دقیق همون کد رو زدم ولی مجبور شدم try catch کنم ؟؟؟

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

احتمالا نوع‌خطاتون و‌ تنظیمات php.ini متفاوتی داشتید

موفق باشید ?

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