簡體   English   中英

從html頁將數據插入數據庫表時出現錯誤

[英]i am getting error while inseting data into my database table from html page

這是我的php代碼,在插入數據行時警告我,請提供答案

                if($_POST['submitted'] == 1){

                    $q = "INSERT INTO user(fullname,email,password,conform-password,mobileno) VALUES ('$_POST[form-full-name]','$_POST[form-email]','$_POST[form-password]','$_POST[form-conform-password]','$_POST[form-mobile-no]')";

                    $r= mysqli_query($dbc,$q); 

                    if($r){

                        echo '<p>you are REGISTERED SUCCESSFULLY !</p>';
                    }
                    else{

                        echo '<p>your REGISTRATION FAILED !</p>'.mysqli_error($dbc);
                        echo '<p>'.$q.'</p>';
                    }

                }

在此處輸入圖片說明

//“請給我解決我的問題的方法”

塊引用

如果您不想分配變量以便不分配內存,則可以嘗試使用以下方法:

           <?php

            if($_POST['submitted'] == 1){

                  $q = "INSERT INTO user(`fullname`,`email`,`password`,`conform-password`,`mobileno`) VALUES (?,?,?,?,?)";

                  $stmt = $mysqli->prepare($q);

                    if ( false===$stmt ) {

                    die('prepare() failed: ' . htmlspecialchars($mysqli->error));
                    }

                  $rc = $stmt->bind_param("sssss",  $_POST['form-full-name'], $_POST['form-email'], $_POST['form-password'], $_POST['form-conform-password'],$_POST['form-mobile-no']);


                  if ( false===$rc ) {

                      die('bind_param() failed: ' . htmlspecialchars($stmt->error));
                    }

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

                   $stmt->close();


            }

根據此示例,您必須在表字段中使用手機號碼數據類型作為字符串。

不需要在表中保存確認密碼,您應該使用prepare語句進行插入。 在這種情況下,它將確保您的查詢安全插入

嘗試這個

 if($_POST['submitted'] == 1)
{

  $full_name =$_POST['form-full-name'];
  $form_email=$_POST['form-email'];
  $password = $_POST['form-password'];
  $conform_pass=$_POST['form-conform-password'];
  $mobile =$_POST['form-mobile-no'];

  $q = "INSERT INTO user(fullname,email,password,conform-password,mobileno) VALUES ('$full_name','$form_email','$password','$conform_pass','$mobile')";

  $r= mysqli_query($dbc,$q); 

  if($r)
  {

   echo '<p>you are REGISTERED SUCCESSFULLY !</p>';
  }
  else{

    echo '<p>your REGISTRATION FAILED !</p>'.mysqli_error($dbc);
    echo '<p>'.$q.'</p>';
      }

    }

您缺少單引號$_POST['']方法

Just try saving your posted form data to php variable and then use that in   your insert query.

For ex: 

$fullname = $_POST['form-full-name'];
$email = $_POST['form-email'];
$password = $_POST['form-password'];
$confirmpassword = $_POST['form-conform-password'];
$mobilenumber = $_POST['form-mobile-no'];

And then the query as 


$q = "INSERT INTO user(fullname,email,password,conform-password,mobileno) VALUES ('$fullname','$email ','$password ','$confirmpassword ','$mobilenumber ')";


Hope this help.

謝謝大家的答復,我解決了一個我犯了2個錯誤的問題1)使用“-”,我用_下划線(ex:form_email)代替了2)我使用過isset()函數更改以上2件事后,我正在獲取數據我的數據庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM