رایموند
6 سال پیش توسط رایموند مطرح شد
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 6 سال پیش آپدیت شد
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();
            }
        }

    }

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

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


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

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


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 6 سال پیش مطرح شد
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 6 سال پیش مطرح شد
0

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


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 6 سال پیش مطرح شد
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 6 سال پیش مطرح شد
0

سلام
@RaymondDragon

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


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 6 سال پیش آپدیت شد
0

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


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

سلام
@RaymondDragon

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


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 6 سال پیش مطرح شد
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 6 سال پیش مطرح شد
0

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


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

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


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

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