• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در insert کردن مقادیر در دیتا بیس
#1
سلام دوستان

بنده سه تا فایل دارم به نام های admin.php-index.php-config.php

که در فایل config اطلاعات دیتا بیس و متصل شدن به اونه
حالا من در فایل admin خودم اومدم دستور نوشتم که مقادیر اسم و فامیل رو بگیره و در دیتابیس ذخیره کنه اما متاسفانه جواب نمیده

کد پی‌اچ‌پی:
<?php
$servername
='localhost'
$username='root'
$pass=''
$dbname='amir'
$db=new PDO("mysql:host=$servername; dbname=$dbname; charset=UTF8;",$username,$pass);
?>



این هم فایل admin که باید از این صفحه اطلاعات در دیتا بیس ثبت بشه

کد پی‌اچ‌پی:
<?php
include("config.php");
if(isset(
$_POST['name'])&&isset($_POST['family'])){
$name=$_POST['name'];
$fname=$_POST['family'];
$s=$db->query("INSERT INTO `student`(`name`, `family`) VALUES ($name,$fname)");
echo 
"<script>alert('با موفقيت ذخيره شد');</script>";
}
?>

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>مدیریت</title>
</head>
<body>
    <form action="" method=post >
    نام:<input name=name type="text"><br>
  فامیل:<input name=family type="text"><br>
        <input type=submit type="text">
        <input type=reset type="text">
    </form>
</body>
</html> 


اما متاسفانه در دیتا بیس چیزی ذخیره نمیشه کد ها رو بارها چک کردم مشکلی نداره در ضمن دستور های Sql رو هم برای اطمینان بیشتر از phpmyadmin برداشتم

نکته : صفحه index.php وظیفه نمایش مختویات دیتا بیس رو داره که بنده به صورت دستی اطلاعات وارد کردم به خوبی نمایش داد و خطایی نداشت

با تشگر
  پاسخ
تشکر شده توسط :
#2
1. در html باید خصوصیات تگ ها به صورت زیر تعریف بشن.
کد:
name="value"

2. وقتی شما دوبار به یک خصوصیت مقدار بدین، مقدار نهایی منظور میشه.
این غلطه:
کد:
<input type=submit type="text">

کد پی‌اچ‌پی:
<body>
    <
form action="" method="post" >
    
نام:<input name="name" type="text"><br>
  
فامیل:<input name="family" type="text"><br>
        <
input type="submit">
        <
input type="reset">
    </
form>
</
body
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط :
#3
با تشکر
اما درست نشد بازم یعنی چیزی ثبت نشد عینا کدهایی که شما نوشتید رو کپی کردم بازم درست نشد
  پاسخ
تشکر شده توسط :
#4
کد پی‌اچ‌پی:
<?php
if( isset($_POST['add']))
    if( !( empty(
$_POST['name']) && empty($_POST['family']) ){
        try{
            include(
"config.php");
            
$name=$_POST['name'];
            
$fname=$_POST['family'];
            
$s=$db->query("INSERT INTO `student`(`name`, `family`) VALUES ($name,$fname)");
            echo 
"<script>alert('با موفقيت ذخيره شد');</script>";
        }catch(
Exception $e) {
            echo 
"<script>alert('خطا در حین درج اطلاعات در پایگاه داده'".$e->getMessage().");</script>";
        }
    }else{
        echo 
"<script>alert('فیلدها نام و فامیل اجباری هستند.');</script>";
    }
}
?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>مدیریت</title>
</head>
<body>
    <form action="" method="post" >
    نام:<input name="name" type="text"><br>
  فامیل:<input name="family" type="text"><br>
        <input type="submit" name="add">
        <input type="reset">
    </form>
</body> 
</html> 
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط : amir94
#5
با تشکر

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

کد پی‌اچ‌پی:
("INSERT INTO `student`(`name`, `family`) VALUES ($name,$fname)"); 

که متغیر های name و fname داخل ' نبودند که مشکل حل شد

کد پی‌اچ‌پی:
("INSERT INTO `student`(`name`, `family`) VALUES ('$name','$fname')"); 

با تشکر
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان