Php 表单验证和mysql数据库连接

Php 表单验证和mysql数据库连接,php,mysql,forms,database-connection,Php,Mysql,Forms,Database Connection,我正在从事一个PHP/MySQL项目,但是我在验证来自数据的数据时遇到了一个问题。 当我提交信息时,我在数据库PHPmyadmin中没有找到它。我认为这是连接问题! 这是我的表格: <form id="formulaire" role="form" action="index.php" method="POST"> <h3 style="color:red;">Ajouter un reservoir</h3>

我正在从事一个PHP/MySQL项目,但是我在验证来自数据的数据时遇到了一个问题。 当我提交信息时,我在数据库PHPmyadmin中没有找到它。我认为这是连接问题! 这是我的表格:

<form id="formulaire" role="form" action="index.php" method="POST">
                    <h3 style="color:red;">Ajouter un reservoir</h3>
                    <label for="coordlat" style="margin-bottom:7px;">Latitude du point</label>
                    <input type="text" class="form-control" id="latitude" name="latitude" placeholder="Latitude"  style="margin-bottom:7px;" required>
                    <label for="coordlng" style="margin-bottom:7px;">Longitude de point</label>
                    <input type="text" class="form-control" id="longitude" name="longitude"  placeholder="Longitude" style="margin-bottom:7px;" required>
                    <label for="coordlng" style="margin-bottom:7px;">Code du reservoir</label>
                    <input type="text" class="form-control" id="coderes" name="coderes" placeholder="Code" style="margin-bottom:7px;" required>
                    <label for="coordlng" style="margin-bottom:7px;">Nom du reservoir</label>
                    <input type="text" class="form-control" id="nomres" name="nomres"  placeholder="Nom" style="margin-bottom:7px;" required>
                    <label for="coordlng" style="margin-bottom:7px;">Adress du reservoir</label>
                    <input type="text" class="form-control" id="adressres" name="adressres"  placeholder="Adress" style="margin-bottom:7px;" required>
                    <label for="coordlng" style="margin-bottom:7px;">Capacité du reservoir</label>
                    <input type="text" class="form-control" id="capaciteres" name="capaciteres"  placeholder="Capacité" style="margin-bottom:7px;" required>
                    <label for="coordlng" style="margin-bottom:7px;">Alimentation</label>
                    <input type="text" class="form-control" id="alimentationres" name="alimentationres"  placeholder="Alimentation" style="margin-bottom:7px;" required>
                    <label for="coordlng" style="margin-bottom:7px;">Cote radial du reservoir</label>
                    <input type="text" class="form-control" id="coteradres" name="coteradres"  placeholder="Cote radial" style="margin-bottom:7px;" required>
                    <div style="padding-top:10px;">
                        <select name="typeres" style="margin-bottom:7px;" required>
                                <option value="" disabled selected>Type du reservoir</option>
                                <option value="enterre">Enterré</option>
                                <option value="semi-enterre">Semi enterré</option>
                        </select>
                        <select name="pseutype" style="margin-bottom:7px;" required>
                                <option value="" disabled selected>Pseudo-type du reservoir</option>
                                <option value="onep">Reservoir ONEP</option>
                                <option value="ramsa">Reservoir RAMSA</option>
                                <option value="onep">Forage C</option>
                                <option value="onep">Forage RA</option>
                        </select>
                    </div>
                    <div style="padding-top:10px;">
                        <input type="submit" value="Valider" id="Reservoirbtn" class="btn btn-success" >
                        <input type="reset" value="Vider es champs" id="Reservoirbtn" class="btn btn-danger"   style="margin-left:25px;">
                    </div>
            </form>
下面是我在数据库中插入新记录的php代码:

    <?php
  $connect=mysqli_connect("localhost","root","","mydb");

  if (mysqli_connect_errno()) {
    echo ("Échec de la connexion : %s\n" . mysqli_connect_error());
    exit();
}


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

$query = " INSERT INTO 'reservoir' (Code_reservoir, nom_reservoir, adress_reservoir, latitude, longtitude, capacite, cote_radial, espace, pseudo_espace, alimentation)
           VALUES ('$_POST[coderes]', '$_POST[nomres]', '$_POST[adressres]', '$_POST[latitude]', '$_POST[longitude]', '$_POST[capaciteres]', '$_POST[coteradres]', '$_POST[typeres]','$_POST[pseutype]', '$_POST[alimentationres]')";

mysql_query($query,$connect);
mysql_close($connect);
}          

?>

请帮助:谢谢

我认为错误在于您没有选择数据库

试试这个:

<?php
      $connect=mysqli_connect("localhost","root","","mydb");
    
      if (mysqli_connect_errno()) {
        echo ("Échec de la connexion : %s\n" . mysqli_connect_error());
        exit();
    }

$db_selected = mysqli_select_db("//database name", $connect);

if (!$db_selected)
  {
  die ("Can\'t use this databse : " . mysqli_error());
  }
    
    
        if(isset($_POST['submit'])){
    
    $query = " INSERT INTO 'reservoir' (Code_reservoir, nom_reservoir, adress_reservoir, latitude, longtitude, capacite, cote_radial, espace, pseudo_espace, alimentation)
               VALUES ('$_POST[coderes]', '$_POST[nomres]', '$_POST[adressres]', '$_POST[latitude]', '$_POST[longitude]', '$_POST[capaciteres]', '$_POST[coteradres]', '$_POST[typeres]','$_POST[pseutype]', '$_POST[alimentationres]')";
    
    mysql_query($query,$connect);
    mysql_close($connect);
    }          
    
    ?>
可以从以下链接找到更多帮助:


我不确定,但希望这能起作用。

下面显示了一种最简单的方法,可用于将许多值从html表单传递到数据库。但你需要关心的是

1.必须为输入类型submit使用名称:您可以将表单中的提交行替换为

<input type="submit" value="Valider" id="Reservoirbtn" class="btn btn-success" name="submit_form">
2.您需要使用与html表单输入名称中使用的名称相同的数据库表字段名称。即,表列名必须是纬度、经度、代码等

如果您认为您的代码只有连接问题。您可以使用下面代码中的connect语句,显示相应的连接错误行1-7

php代码

<?php
define(“DBHOST”,”localhost”);
define(“DBUNAME”,”root”);
define(“DBPASSWORD”,””);
define(“DBNAME”,”mydb”);
mysql_connect(DBHOST,DBUNAME,DBPASSWORD)or die(‘cant connect to DB’);
mysql_select_db(DBNAME)or die(“cant select db”);
$inputs = array();
$skip_input=array(‘submit_form’);
$error =array();
if(isset($_POST['submit_form']))
{
foreach($_POST as $key=>$value)
{
if(!in_array($key,$skip_input))
{
$inputs[$key] =$value;
}
}
}
$fieldValues = implode(“‘,’”,array_values($inputs));
$table = ‘reservoir’;
$sql=”INSERT INTO $table VALUES (‘$fieldValues’)”;
mysql_query($sql);
echo “inserted successfully”;
?>

尝试mysqli_error$connect以获取最后一个错误,顺便说一下,post变量必须与查询的其余部分连接,如下所示:VALUES’$_张贴[代码]。'等等..谢谢Thulur的回复!请你把问题写给我好吗!我对此有点困惑!对不起,这应该是你的任务;确切地这个呢:$query=INSERT-INTO'treastory'Code_treastory,nom_treastory,address_treastory,纬度,经度,电容,cote_radial,espace,pseudo_espace,营养值'$_POST[coderes]','$_POST[nomres]','$_POST[address]','$_POST[latitude]','$_POST[经度],'$_POST[capacures]','$_POST[coteradres,""","""邮政","邮政","食品",@沙拉设计我的答案有什么问题吗?非常感谢我的兄弟你的回答!但是我自己解决了我的问题,有点语法问题problem@SalasDesign好的……但是为什么你要删除我答案上的“接受”标记?我只想知道答案中的错误,或者告诉我是否有用等等。实际上我试图在你的答案中使用代码,但我没有得到我想要的!但我真的很感谢你的贡献:D