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


storing data to mysql database using php

我的代码不会插入到学生表中,我不知道出了什么问题,你们能帮忙吗?我试着在每一行打印错误信息,以找出错误的位置,但我没有得到错误,所以我混淆了

<?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);
}

?>

这是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>

如果在用户单击按钮后尝试验证$_POST['submit'],则应在输入提交标记中包含属性name,如下所示:

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

然后您可以检查$_POST:

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

PHP在没有属性名的情况下总是返回false。。。

  • 此外,考虑将mysqli与准备好的语句一起使用,或将PDO与准备好语句一起使用它们更安全

将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);
}
?>

还将您的表单提交按钮代码更改为:

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