简体   繁体   English

使用php将数据存储到mysql数据库

[英]storing data to mysql database using php

my code wont insert into the student table I dont know whats wrong could you guys possibly help? 我的代码不会插入到学生表中,我不知道你们可能有什么问题吗? I tried to print and error message in each line to find out where the error was but I got no errors so I'm confused 我尝试在每一行中打印并显示错误消息,以找出错误所在,但没有错误,因此感到困惑

<?PHP

if(isset($_POST['submit'])) {



$link = mysql_connect('localhost','root','');

if (!$link) {
die('Could not connect :' . mysql_error());
}
$Selected= mysql_select_db("elearningg", $link);
if (!$Selected) {
die("Could not connect: " . mysql_error());
}


$sql    = "INSERT INTO  student (FirstName, LastName, UserName,Password,  confirmP ,phoneNum,Email) VALUES ('$_POST[FN]','$_POST[LN]','$_POST[userName]','$_POST[password]','$_POST[confirmPass]','$_POST[number]','$_POST[email]') ";

mysql_query($sql,$link);


mysql_close($link);

}


?>

and here's the html form: 这是html形式:

     <form  method="post" action="Register.php">
    <div class="contact-to">

     <P> <input name="FN" type="text" class="text" value="First name"  > 

      <input name="LN" type="text" class="text" value="Last name"  style="margin-left: 10px">
      <input name="userName" type="text" class="text" value="username"  style="margin-left: 10px">
    </div>
      <div class="contact-to">

      <input name="password" type="text" class="text" value="Password"  style="margin-left: 10px">
      <input name="confirmPass" type="text" class="text" value="Confirm password" style="margin-left: 10px">
       <input name="number" type="text" class="text" value="Phone Number" >
        <input name="email" type="text" class="text" value="email" >
    </div>

    <div> <input  value="submit" type="submit" class="submit"> </div>
    </form>

If you're trying to validate $_POST['submit'] after user clicks the button, you should include attribute name inside your input submit tag like this: 如果您在用户单击按钮后尝试验证$_POST['submit'] ,则应在输入Submit标记中包含属性name如下所示:

<input value="submit" type="submit" name="submit" class="submit">

And then you can check $_POST: 然后您可以检查$ _POST:

if(isset($_POST['submit'])) {
    // your code
}

PHP will always return false in your condition without a attribute name... 在没有属性名称的情况下,PHP始终会返回false。

Change your sql insert query code to this: 将您的sql插入查询代码更改为此:

<?php
error_reporting(E_ALL);
ini_set('display_errors',1);

function debug($data){
    echo '<pre>';
    print_r($data);
    echo '</pre>';
}
function getConnected($host,$user,$pass,$db) {

    $mysqli = new mysqli($host, $user, $pass, $db);

    if($mysqli->connect_error)
        die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());

    return $mysqli;
}

if(isset($_POST['submit'])) {

    debug('Connecting database...');

    $link = getConnected('localhost','root','', 'stackoverflow');

    debug('Database connected...');
    $sql    = "
        INSERT INTO  `student` (`FirstName`, `LastName`, `UserName`, `Password`, `confirmP`, `phoneNum`, `Email`) 
        VALUES (
            '{$_POST['FN']}',
            '{$_POST['LN']}',
            '{$_POST['userName']}',
            '{$_POST['password']}',
            '{$_POST['confirmPass']}',
            '{$_POST['number']}',
            '{$_POST['email']}'
        )";

    if (!mysqli_query($link, $sql)) {
        debug("Errormessage: ". mysqli_error($link)."\n");
    }else{
        debug('Query executed successfully...');
    }

    mysqli_close($link);
}
?>

Also change your form submit button code to this: 还将表单提交按钮代码更改为此:

<div> <input  name="submit" value="submit" type="submit" class="submit"> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM