درود دوستان..
من جدولی ایجاد کردم با نام 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();
}
}
}
سلام
فکر کنم کوئریتون رو اشتباه زدید
کد زیر رو تست کنید احتمالا مشکلتون بر طرف شه
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();
}
}
}
سلام
یه دور دیگه تست بگیر رفیق
چون اون موقعی که شما دیدی من پاسخم رو ویرایش کردم یه قسمت از کدم رو
مجدد یه تست بگیر ازش
درود...بازم امتحان کردم کار نکرد...
ولی یه سری تغییر دادم که کار کرد ولی نمی تونه اطلاعات توی پایگاه داده ثبت کنه ...
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)
@RaymondDragon کوئری مشکل داره. توی جدول محصولات 8تا فیلد داری ولی میخوایی 9تا مقدار وارد کنی. جور درنمیاد
@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();
}
سلام
@RaymondDragon
اگر با روش PDO قراره کانکت بشی به دیتابیس باید متد های
prepare و BindParam و اینا رو اجرا کنید که نمونه اش رو هم گذاشتم
خط به خط دیباگ کنید
از متد
extract() هم برای $_POST هم استفاده کنید که پارامتر هایی که داره ارسال میشه رو به صورت متغیر هم داشته باشید
سلام
@RaymondDragon
توی کدی که گذاشتید یه 1 آخرشه که میشه 9 تا مقدار که میخوایید بریزید توی 8 تا
اون یکش رو پاک کنید و تست بگیرید
@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();
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟