راکت
حل شده

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

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();
            }
        }

    }
ثبت پرسش جدید

پاسخ‌ها

12
Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

بهترین پاسخ

سلام

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

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

تخصص: مختصص وردپرس - برنامه نویس لاراول

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

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

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

شاید پاسخ شما همین‌جا باشد

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

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

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
@GHM

تخصص: دولوپر نیمه‌استک

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

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

@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
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@RaymondDragon

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

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

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

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@RaymondDragon

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

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

@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
@GHM

تخصص: دولوپر نیمه‌استک

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

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

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

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

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