Alireza
3 سال پیش توسط Alireza مطرح شد
3 پاسخ

PHP Error

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

        //Query
        $qu = "INSERT INTO users($fieldName) VALUES (?,?,?)";
        $qu2 = "select * from users";
        $resul = $connectDB -> query($qu2);

        //execute query
        foreach ($resul as $key => $vals){
            if ($vals['phone_number'] == $phoneNumber){
                echo "شماره تلفن از قبل وارد شده است. <a href='login.php'>وارد شوید</a>";
            }else{
                $result = $connectDB->query($qu, array_values($attr));
                if ($result){
                    echo "کاربر با موفقیت ایجاد شد";
                }
            }
        }```
ارور :

Notice: Trying to access array offset on value of type int in E:\wamp64\www\contact me\front-project\controller\register.php on line 42


ثبت پرسش جدید
نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 3 سال پیش مطرح شد
1

مشکلت از اینجاست

 if ($vals['phone_number'] == $phoneNumber)

و حالا این رو بگم چرا اصلا مشکل داره $vals که اونجا قرار دادی
نگاه کن ما وقتی توی foreach میایم می نویسیم

$resul as $key => $vals

ما قراره دو تا آرایه داشته باشیم که یکیشون برای اسم اون آرایه هاست
یکیشون هم برای اطلاعات داخل آرایه
و ما اینجا دیگه قرار نیست آرایه ی انجمنی داشته که
در اصل اینجوری دوتا آرایه ی سنتی داریم
که نام گزاری شون از 0 شروع میشه تا ثریا
کار اشتباه تو اینجا بود که توی این عملیات که به هردو تا باهم باید دسترسی داشته باشی اون ها رو جدا کردی
پسد کدت رو باید اینجوری بنویسی

        foreach ($resul as $vals){

            if ($vals['phone_number'] == $phoneNumber){

                echo "شماره تلفن از قبل وارد شده است. <a href='login.php'>وارد شوید</a>";

            }else{

                $result = $connectDB->query($qu, array_values($attr));

                if ($result){

                    echo "کاربر با موفقیت ایجاد شد";

                }

            }

        }

که اینجا ما توی foreach آرایه ای که از قبل داشتیم رو همونجوری استفاده کردیم و جداش نکردیم
پس یادتون باشه ه وقت نیاز به جدا کردن بود جداکنید نه اینجور موقع ها


پرهام ناصحی
تخصص : بک‌اند کار
@parhamdeveloper 3 سال پیش مطرح شد
-1

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


پرهام ناصحی
تخصص : بک‌اند کار
@parhamdeveloper 3 سال پیش مطرح شد
0

لطفا کدها رو کامل بفرستید چرا رای منفی میدید.


نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 3 سال پیش مطرح شد
1

مشکلت از اینجاست

 if ($vals['phone_number'] == $phoneNumber)

و حالا این رو بگم چرا اصلا مشکل داره $vals که اونجا قرار دادی
نگاه کن ما وقتی توی foreach میایم می نویسیم

$resul as $key => $vals

ما قراره دو تا آرایه داشته باشیم که یکیشون برای اسم اون آرایه هاست
یکیشون هم برای اطلاعات داخل آرایه
و ما اینجا دیگه قرار نیست آرایه ی انجمنی داشته که
در اصل اینجوری دوتا آرایه ی سنتی داریم
که نام گزاری شون از 0 شروع میشه تا ثریا
کار اشتباه تو اینجا بود که توی این عملیات که به هردو تا باهم باید دسترسی داشته باشی اون ها رو جدا کردی
پسد کدت رو باید اینجوری بنویسی

        foreach ($resul as $vals){

            if ($vals['phone_number'] == $phoneNumber){

                echo "شماره تلفن از قبل وارد شده است. <a href='login.php'>وارد شوید</a>";

            }else{

                $result = $connectDB->query($qu, array_values($attr));

                if ($result){

                    echo "کاربر با موفقیت ایجاد شد";

                }

            }

        }

که اینجا ما توی foreach آرایه ای که از قبل داشتیم رو همونجوری استفاده کردیم و جداش نکردیم
پس یادتون باشه ه وقت نیاز به جدا کردن بود جداکنید نه اینجور موقع ها


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام