نمایش نتایج 1 تا 4 از 4

نام تاپیک: مشکل ارتباط ناقص php با mysql

  1. #1

    مشکل ارتباط ناقص php با mysql

    سلام دوستان عزیز
    کیهان هستم

    من 3 تا صفحه درست کردم که در دوصفحه اول از کاربر اطلاعات دریافت میکنه(صفحه اول select - صفحه دوم update) و در صفحه سوم نشون میده
    برای بار اول که دیتا بیس خالی هست تمام اطلاعاتو درست میگیره
    بار دوم فقط اطلاعات صفحه اول و بار سوم کلا اطلاعات رو در بانک ذخیره نمیکنه
    ممنون میشم مثل همیشه لطف کنید و راهنمایی بفرمایید
    صفحه اول

    <form action="std2.php"; method="post"; onSubmit="return check()";> <div id="form1"> <div > <span id="onvan" >شماره دانش آموزی :<b id="onvan" style="color:red;">*</b></span><input style="direction:rtl;" type="text" name="std-id1"></div> <div class="container" style="width: 400px !important;float: left !important;margin-top: -37px;"> <div class="row"> <div class="col-sm-6"> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text cursor-pointer" id="date4" style="cursor: pointer;width: 100px; height: 25px !important;">تاریخ تولد :</span> </div> <input type="text" id="inputDate4" class="form-control" placeholder="From Date" aria-label="date4" aria-describedby="date4" name="std-tt" style="width:150px !important; height:21px !important;"> </div> </div></div></div> <br> <div style="float: right !important;"> <span id="onvan" >نام :<b id="onvan" style="color:red;">*</b></span><input style="direction:rtl;" type="text" name="std-name"></div><br> <div style="float: right !important;"> <span id="onvan" >نام خانوادگی :<b id="onvan" style="color:red;">*</b></span><input style="direction:rtl;" type="text" name="std-lname"></div><br> <div style="float: right !important;"> <span id="onvan" >نام پدر :<b id="onvan" style="color:red;">*</b></span><input style="direction:rtl;" type="text" name="std-fname"></div><br> <div style="float: right !important;"> <span id="onvan" >شماره ملی :<b id="onvan" style="color:red;">*</b></span><input style="direction:rtl;" type="text" name="std-id2"></div><br> <div style="width: 400px; height: 80px;margin: 0 auto;margin-top: 55px;"> <a style="margin-left: 20px;"><img src="icons8-forward-button-802.png"></a> <input type="submit" value=" " style="margin-left: 20px; cursor: pointer; border: hidden; width: 80px; height: 80px; background : url(icons8-forward-button-80.png);"> <a style="margin-left: 20px;"><img src="icons8-forward-button-801.png"></a> </div> </div> </form>


    صفحه دوم

    <?php$name=$_POST['std-name'];$lname=$_POST['std-lname'];$fname=$_POST['std-fname'];$stdid1=$_POST['std-id1'];$stdid2=$_POST['std-id2'];$stdtt=$_POST['std-tt'];
    $db=new PDO("mysql:host=localhost;dbname=fazilat","root"," "); $db->exec( "SET CHARACTER SET utf8" );


    $sql="INSERT INTO student (`STD-ID`, `NAME`, `L-NAME`, `F-NAME`, `T.T.`, `ID`) VALUES (?,?,?,?,?,?)";$stmt=$db->prepare($sql);$stmt->execute(array($stdid1, $name , $lname , $fname , $stdtt , $stdid2));?><form action="std3.php"; enctype="multipart/form-data"; method="post"; onSubmit="return check()";> <div id="etelaat"> <div> <span id="onvan" >مدرسه سال گذشته :<b id="onvan" style="color:red;">*</b></span><input style="direction:rtl;" type="text" name="std-pschool"></div> <div> <span id="onvan" >معدل سال گذشته :<b id="onvan" style="color:red;">*</b></span><input style="direction:rtl;" type="text" name="std-pavg"></div> <div> <span id="onvan" >فعالیتهای فوق برنامه :</span><input style="direction:rtl;" type="text" name="std-ex"></div> <div> <span id="onvan" >شماره کلاس :<b id="onvan" style="color:red;">*</b></span><input style="direction:rtl;" type="text" name="std-classid"></div> <div> <span id="onvan" >نام و نام خانوادگی مادر :<b id="onvan" style="color:red;">*</b></span><input style="direction:rtl;" type="text" name="std-mname"></div> <div> <span id="onvan" >تلفن تماس :<b id="onvan" style="color:red;">*</b></span><input style="direction:rtl;" type="text" name="std-phone"></div> <div> <span id="onvan" >تلفن تماس پدر :</span><input style="direction:rtl;" type="text" name="std-fphone"></div> <div> <span id="onvan" >تلفن تماس مادر :</b></span><input style="direction:rtl;" type="text" name="std-mphone"></div> <div> <span id="onvan" >تصویر :</span><input type="file" id="std-img" name="std-img" style="direction:rtl;float: right;" > </div>

    صفحه سوم

    <?php $stdpschool=$_POST['std-pschool']; $stdpavg=$_POST['std-pavg']; $stdphone=$_POST['std-phone']; $stdmname=$_POST['std-mname']; $stdclassid=$_POST['std-classid']; $stdex=$_POST['std-ex']; $stdfphone=$_POST['std-fphone']; $stdmphone=$_POST['std-mphone']; $stdid1=$_POST['stdid']; $filename=$_FILES["std-img"]["name"]; $filename_array = explode('.', $filename); $tmp=end($filename_array); $stdimg = $stdid1 . '.' . $tmp; move_uploaded_file($_FILES["std-img"]["tmp_name"],"upload/" . $stdimg); $img="upload/" . $stdimg; $db=new PDO("mysql:host=localhost;dbname=fazilat","root"," "); $db->exec( "SET CHARACTER SET utf8" );


    $sql="UPDATE `student` SET `PRE-SCHOOL`=? ,`PRE-AVG`=? ,`EX-ACTIVITIES`=? ,`CLASS-ID`=? ,`M-NAME`=? ,`IMG`=? ,`PHONE`=? ,`FATHER-PHONE`=? ,`MOTHER-PHONE`=? WHERE `STD-ID`='$stdid1'"; $stmt=$db->prepare($sql); $stmt->execute(array($stdpschool , $stdpavg , $stdex , $stdclassid , $stdmname , $img , $stdphone , $stdfphone , $stdmphone)); ?>
    آخرین ویرایش به وسیله khnjli : شنبه 05 مرداد 1398 در 17:53 عصر

  2. #2

    نقل قول: مشکل ارتباط ناقص php با mysql

    سلام

    یه شرط بزارید تا متوجه خطای موجود در کوئری خود شوید:


    $result = $stmt->execute(...

    if ( false===$result ) {
    die('execute() failed: ' . htmlspecialchars($stmt->error));
    }


    مواردی که مشهود است اینه که شما در صفحه سوم در دستور آپدیت شرطی گذاشتید که مقدار مربوطه bind نشده است به دستور execute و تعداد عناصر آرایه دقت کنید. از طرفی این مقدار که برابر با $_POST['stdid'] می باشد در فرم صفحه دوم قرار ندارد در نتیجه مقدار آن خالی است.

    ساختار جدول هم قرار دهید کل دستور create table ...

  3. #3

    نقل قول: مشکل ارتباط ناقص php با mysql

    سلام مجدد دوستان
    سه صفحه رو در دو صفحه خلاصه کردم و از کدی که علی آقا لطف کردند استفاده کردم
    ولی متاسفانه باز هم فقط و فقط یک مرتبه اونهم وقتی جدول خالی باشه
    کدهای اصلاحی رو میزارم ممنون میشم کمکم کنید

    <?php $name=$_POST['std-name'];
    $lname=$_POST['std-lname'];
    $fname=$_POST['std-fname'];
    $stdid1=$_POST['std-id1'];
    $stdid2=$_POST['std-id2'];
    $stdtt=$_POST['std-tt'];
    $stdpschool=$_POST['std-pschool'];
    $stdpavg=$_POST['std-pavg'];
    $stdphone=$_POST['std-phone'];
    $stdmname=$_POST['std-mname'];
    $stdclassid=$_POST['std-classid'];
    $stdex=$_POST['std-ex'];
    $stdfphone=$_POST['std-fphone'];
    $stdmphone=$_POST['std-mphone'];
    $filename=$_FILES["std-img"]["name"];
    $filename_array = explode('.', $filename);$tmp=end($filename_array);
    $stdimg = $stdid1 . '.' . $tmp;move_uploaded_file($_FILES["std-img"]["tmp_name"],"upload/" . $stdimg);
    $img="upload/" . $stdimg;
    $db=new PDO("mysql:host=localhost;dbname=fazilat","root"," ");
    $db->exec( "SET CHARACTER SET utf8" );
    $select="SELECT * FROM student WHERE `STD-ID`='$stdid1'";$stmt1=$db->prepare($select);$stmt1->execute();$num1=$stmt1->rowCount();
    if($num1>0){echo 'دانش آموز با این شماره دانش آموزی قبلا ثبت شده است';} else{ $sql="INSERT INTO student (`STD-ID`, `NAME`, `L-NAME`, `F-NAME`, `T.T.`, `ID` , `PRE-SCHOOL` , `PRE-AVG` ,`EX-ACTIVITIES` ,`CLASS-ID` ,`M-NAME` ,`IMG` ,`PHONE` ,`FATHER-PHONE` ,`MOTHER-PHONE`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
    $stmt=$db->prepare($sql);

    $result = $stmt->execute(array($stdid1, $name , $lname , $fname , $stdtt , $stdid2 , $stdpschool , $stdpavg , $stdex , $stdclassid , $stdmname , $img , $stdphone , $stdfphone , $stdmphone));

    if ( false===$result ) { die('execute() failed: ' . htmlspecialchars($stmt->error));
    print $result->errorCode(); } }?>

    توضیح : درصفحه اول تو تگ فرم مقادیر رو میگیره و به این صفحه ارسال میکنه
    بعد در این صفحه خطای زیر رو برای خط
    die('execute() failed: ' . htmlspecialchars($stmt->error));

    میده و هیچ چیز در جدول ثبت نمیکنه

  4. #4

    نقل قول: مشکل ارتباط ناقص php با mysql

    سلام لطفا خطای دریافتی هم درج کنید.

    ساختار جدول student هم قرار دهید. آیا جدول دارای کلید پرایمری می باشد؟ ایا فیلد از نوع auto increment است؟

    در ضمن متغیر $result دارای متد errorCode نمی باشد بلکه مربوط به $stmt می باشد. در ضمن بعد از دستور die برنامه پایان می یابند و دستور بعد از آن اجرا نمی شود می توانید دستورات خود را بصورت زیر تغییر دهید:

        if ( false===$result ) {  
    print_r($db->errorInfo());
    exit();
    }

تاپیک های مشابه

  1. ذخیره ساختن دیتابیس Mysql در Cpanel / Mysql import
    نوشته شده توسط maryamhost در بخش MySQL
    پاسخ: 0
    آخرین پست: پنج شنبه 16 مرداد 1393, 10:24 صبح
  2. پاسخ: 0
    آخرین پست: شنبه 04 مرداد 1393, 11:01 صبح
  3. نسخه silent از mysql connector برای ارتباط با پایگاه داده mysql هم از روی local هم از راه دور
    نوشته شده توسط Black_Strom در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 2
    آخرین پست: دوشنبه 07 آذر 1390, 11:38 صبح
  4. نسخه جدیدی از mysql connector برای ارتباط با پایگاه داده mysql هم از روی local هم از راه دو
    نوشته شده توسط Black_Strom در بخش برنامه نویسی مرتبط با شبکه و وب در VB6
    پاسخ: 0
    آخرین پست: سه شنبه 24 آبان 1390, 06:09 صبح
  5. اتصال به remote mysql توسط mysql/net connector
    نوشته شده توسط ayub_coder در بخش C#‎‎
    پاسخ: 3
    آخرین پست: دوشنبه 09 خرداد 1390, 23:52 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •