راکت
رایموند
رایموند
توسط رایموند مطرح شد
حل
12 پاسخ

مشکل ثبت محصول

درود دوستان..
من جدولی ایجاد کردم با نام kala ...
ولی مشکلی که داره بخش ثبت محصول کار نمی کنه و ارسال نمی کنه ...
همچون پروژه برای اتصال به پایگاه PDO استفاده می کنه...
کد زیر:

if(isset($_POST['insert'])){

        $title = $_POST['title'];
        $name = $_POST['name'];
        $buy = $_POST['buy'];
        $shop = $_POST['shop'];
        $number = $_POST['number'];
        $color = $_POST['color'];
        $warranty = $_POST['warranty'];
        $decs = $_POST['desc'];
        $category = $_POST['category'];

        if($title == '' OR $desc == '' OR $category == ''){
            header("location:index.php?error=7070");
            exit();
        }else{
            $query = $conn->query("INSERT INTO `kala` (`pro_cat`, `pro_name`, `pro_buy`, `pro_shop`, `pro_number`, `pro_color`, `pro_warranty`, `pro_desc`) VALUES ('$category', '$name', '$buy', '$shop', '$number', '$color', '$warranty', '$decs')");
            $count = $query->rowcount();
            $row = $query->fetch();
            if($count->0){
                header("location:index.php?successfully=9090");
                exit();
            }
        }

    }

ثبت پرسش جدید
Alimotreb
Alimotreb
تخصص :کانفیگ سرور و برنامه نویس
@Alimotreb7 سال پیشمطرح شد
0

سلام

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

if(isset($_POST['insert'])){

        $title = $_POST['title'];
        $name = $_POST['name'];
        $buy = $_POST['buy'];
        $shop = $_POST['shop'];
        $number = $_POST['number'];
        $color = $_POST['color'];
        $warranty = $_POST['warranty'];
        $decs = $_POST['desc'];
        $category = $_POST['category'];

        if($title == '' OR $desc == '' OR $category == ''){
            header("location:index.php?error=7070");
            exit();
        }else{
            $query = $conn->prepare("INSERT INTO kala (pro_cat, pro_name, pro_buy, pro_shop, pro_number, pro_color, pro_warranty, pro_desc) VALUES (:category, :name, :buy, :shop, :number, :color, :warranty, :decs)");
            $query->bindParam("category" , $category);
            $query->bindParam("name" , $name );
            $query->bindParam("buy" , $buy);
            $query->bindParam("shop" , $shop );
            $query->bindParam("number" , $number);
            $query->bindParam("color" , $color );
            $query->bindParam("warranty" , $warranty );
            $query->bindParam("decs" , $decs );
            $query->execute();
            if($query->execute()){
                header("location:index.php?successfully=9090");
                exit();
            }
        }

    }

رایموند
رایموند
تخصص :مختصص وردپرس - برنامه نویس لاراول
@Raymond7 سال پیشمطرح شد
0

@Alimotreb
کار نکرد...آزمایشی امتحان کردم توی پایگاه داده چیزی ثبت نمی کنه..


Alimotreb
Alimotreb
تخصص :کانفیگ سرور و برنامه نویس
@Alimotreb7 سال پیشمطرح شد
0

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


رایموند
رایموند
تخصص :مختصص وردپرس - برنامه نویس لاراول
@Raymond7 سال پیشمطرح شد
0

درود...بازم امتحان کردم کار نکرد...
ولی یه سری تغییر دادم که کار کرد ولی نمی تونه اطلاعات توی پایگاه داده ثبت کنه ...

if($_POST) {
    $title = $_POST['title'];
    $buy = $_POST['buy'];
    $shop = $_POST['shop'];
    $number = $_POST['number'];
    $color = $_POST['color'];
    $warranty = $_POST['warranty'];
    $category = $_POST['category'];
    $desc = $_POST['desc'];

    $sql = "INSERT INTO `products` (`cat`, `title`, `buy`, `shop`, `number`, `color`, `warranty`, `desc`) VALUES ('$category', '$title', '$buy', '$shop', '$number', '$color', '$warranty', '$desc', 1)";
    if($db->query($sql) === TRUE) {
        echo "<p>با موفقیت ثبت شد</p>";

    } else {
        echo "Error " . $sql . ' ' . $db->connect_error;
    }

    $db->close();
}

خطا:

.Error INSERT INTO `products` (`cat`, `title`, `buy`, `shop`, `number`, `color`, `warranty`, `desc`) VALUES ('انتخاب کنید', 'یادگیری برنامه نویسی', '1000', '1000', '', 'قرمز', '24', 'تست', 1)

GHM
GHM
تخصص :دولوپر نیمه‌استک
@GHM7 سال پیشمطرح شد
0

@RaymondDragon کوئری مشکل داره. توی جدول محصولات 8تا فیلد داری ولی میخوایی 9تا مقدار وارد کنی. جور درنمیاد


رایموند
رایموند
تخصص :مختصص وردپرس - برنامه نویس لاراول
@Raymond7 سال پیشمطرح شد
0

@GHM
کوئری اصلاح کردم ولی کار نمی کنه...
عکس :
<img src="http://s9.picofile.com/file/8350799500/phpmyadmin_tbl_structure_php.png">

دقیقا ۸ تا داره...

اینم کد کوئری اصلاح شده:

if($_POST) {
    $title = $_POST['title'];
    $buy = $_POST['buy'];
    $shop = $_POST['shop'];
    $number = $_POST['number'];
    $color = $_POST['color'];
    $warranty = $_POST['warranty'];
    $cat = $_POST['cat'];
    $desc = $_POST['desc'];

    $sql = "INSERT INTO `products` (`cat`, `title`, `buy`, `shop`, `number`, `color`, `warranty`, `desc`) VALUES ('$cat', '$title', '$buy', '$shop', '$number', '$color', '$warranty', '$desc', 1)";
    if($db->query($sql) === TRUE) {
        echo "<p>با موفقیت ثبت شد</p>";

    } else {
        echo "Error " . $sql . ' ' . $db->connect_error;
    }

    $db->close();
}

Alimotreb
Alimotreb
تخصص :کانفیگ سرور و برنامه نویس
@Alimotreb7 سال پیشمطرح شد
0

سلام
@RaymondDragon

اگر با روش PDO قراره کانکت بشی به دیتابیس باید متد های
prepare و BindParam و اینا رو اجرا کنید که نمونه اش رو هم گذاشتم
خط به خط دیباگ کنید
از متد
extract() هم برای $_POST هم استفاده کنید که پارامتر هایی که داره ارسال میشه رو به صورت متغیر هم داشته باشید


رایموند
رایموند
تخصص :مختصص وردپرس - برنامه نویس لاراول
@Raymond7 سال پیشمطرح شد
0

@Alimotreb
درود..
الان روش mysqli وصل شدم...


Alimotreb
Alimotreb
تخصص :کانفیگ سرور و برنامه نویس
@Alimotreb7 سال پیشمطرح شد
0

سلام
@RaymondDragon

توی کدی که گذاشتید یه 1 آخرشه که میشه 9 تا مقدار که میخوایید بریزید توی 8 تا
اون یکش رو پاک کنید و تست بگیرید


رایموند
رایموند
تخصص :مختصص وردپرس - برنامه نویس لاراول
@Raymond7 سال پیشمطرح شد
0

@Alimotreb
اون id رو میگی برای نمایش تعداد لیست هست اونم وارد کردم کار نکرد...
کد زیر:

if($_POST) {
    $id = $_POST['id'];
    $title = $_POST['title'];
    $buy = $_POST['buy'];
    $shop = $_POST['shop'];
    $number = $_POST['number'];
    $color = $_POST['color'];
    $warranty = $_POST['warranty'];
    $cat = $_POST['cat'];
    $desc = $_POST['desc'];

    $sql = "INSERT INTO `products` (`id`,`cat`, `title`, `buy`, `shop`, `number`, `color`, `warranty`, `desc`) VALUES ('$id','$cat', '$title', '$buy', '$shop', '$number', '$color', '$warranty', '$desc', 1)";
    if($db->query($sql) === TRUE) {
        echo "<p>با موفقیت ثبت شد</p>";

    } else {
        echo "خطا در ثبت اطلاعات پایگاه داده " . $sql . ' ' . $db->connect_error;
    }

    $db->close();
}

GHM
GHM
تخصص :دولوپر نیمه‌استک
@GHM7 سال پیشمطرح شد
0

@RaymondDragon مشکلتون برطرف شد؟


رایموند
رایموند
تخصص :مختصص وردپرس - برنامه نویس لاراول
@Raymond7 سال پیشمطرح شد
0

@GHM
آره حل شد ... ممنون


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

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