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