从HTML表单添加数据到MySQL数据库 [英] Adding Data to a MySQL Database from an HTML Form

查看:1028
本文介绍了从HTML表单添加数据到MySQL数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,我有一个用于将数据放入mysql数据库的基本Web表单,我创建了代码来报告我是否正确连接到了我的数据库,并且它完成了我测试它的表单并且它似乎完成了我期望什么,但是当我转到我的数据库没有实际输入数据?我已经在本地和服务器上尝试了这两种方法,都做同样的事情。这里是我的两个.php表单,供您查看我在本地机器上用于在MAMP中进行测试的情况,因为我已经做了一些错误的处理:

virtualWalkLog.php



 < form action =hazardsform.phpmethod =POST/> 
< p> ROUTE:< input type =textname =ROUTE/>< / p>
< p> ADDRESS:< input type =textname =ADDRESS/>< / p>
< p> LATITUDE:< input type =textname =LATITUDE/>< / p>
< p> LONGITUDE:< input type =textname =LONGITUDE/>< / p>
< p>危害:< input type =textname =HAZARD/>< / p>
< p> RISK:< input type =textname =RISK/>< / p>
< input type =submitvalue =Submit/>
< / form>

hazardsform.php

 <?php 

define('DB_NAME','virtualWalkLog');
define('DB_USER','root');
define('DB_PASSWORD','root');
define('DB_HOST','localhost');

$ link = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);

if(!$ link){
die('Could not connect:'。mysql_error());
}

$ db_selected = mysql_select_db(DB_NAME,$ link);
$ b $ if if(!$ db_selected){
die('不能使用'.DB_NAME'':'。mysql_error());
}

$ value = $ _POST ['ROUTE'];
$ value = $ _POST ['ADDRESS'];
$ value = $ _POST ['LATITUDE'];
$ value = $ _POST ['LONGITUTE'];
$ value = $ _POST ['HAZARD'];
$ value = $ _POST ['RISK'];
$ b $ sql =INSERT INTO rmbhazards(路线,地址,纬度,长度,危险,风险)值('$ value','$ value2',
'$ value3',' $ value4','$ value5','$ value6');

mysql_close();

提前致谢

解决方案

快速浏览脚本需要在 $ b p之后调用 mysql_query($ sql) > $ sql =INSERT INTO rmbhazards(ROUTE,ADDRESS,LATITUDE,LONGITUDE,HAZARD,RISK)VALUES('$ value','$ value2',$ b $'$ value3','$ '$ value5','$ value6');



mysql_sql 查询将实际执行查询。



同样作为 $ value 应该是唯一的

  $ value = $ _POST ['ROUTE']; 
$ value2 = $ _POST ['ADDRESS'];
$ value3 = $ _POST ['LATITUDE'];

-----

SUGGESTION 因为你刚刚开始..我会建议你尝试mysql_ *为概念
,但使用 mysqli _ * PDO ..你也知道关于sql注入

这里有一些教程可以帮助你



< a href =http://php.net/manual/en/security.database.sql-injection.php> http://php.net/manual/en/security.database.sql-injection.php a>



http://php.net/manual /en/book.pdo.php



http://php.net/manual/en/book.mysqli.php

HI all i've a basic Web Form for putting data into a mysql database, I created code to report if i was connected to my Database correctly and it was so on completion of the form i tested it and it seems to do what i expected but when i goto my database no data was actually entered? I've tried this locally and on a server with both doing the same thing. Here is my two .php forms for you to look that i used on my local machine to test in MAMP just incase i have done something wrong:

virtualWalkLog.php

<form action="hazardsform.php" method="POST"  />
  <p>ROUTE: <input type="text" name="ROUTE" /></p>
  <p>ADDRESS: <input type="text" name="ADDRESS" /></p>
  <p>LATITUDE: <input type="text" name="LATITUDE" /></p>
  <p>LONGITUDE: <input type="text" name="LONGITUDE" /></p>
  <p>HAZARD: <input type="text" name="HAZARD" /></p>
  <p>RISK: <input type="text" name="RISK" /></p>
  <input type="submit" value="Submit" />
</form>

hazardsform.php

<?php

define('DB_NAME', 'virtualWalkLog');
define('DB_USER', 'root');
define('DB_PASSWORD', 'root');
define('DB_HOST', 'localhost');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

if (!$link) {
     die('Could not connect: ' . mysql_error());
     }

     $db_selected = mysql_select_db(DB_NAME, $link);

     if (!$db_selected) {
     die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
     }

     $value = $_POST['ROUTE'];
     $value = $_POST['ADDRESS'];
     $value = $_POST['LATITUDE'];
     $value = $_POST['LONGITUTE'];
     $value = $_POST['HAZARD'];
     $value = $_POST['RISK'];

     $sql = "INSERT INTO rmbhazards (ROUTE, ADDRESS, LATITUDE, LONGITUDE, HAZARD, RISK) VALUES ('$value', '$value2', 
     '$value3', '$value4', '$value5', '$value6')";

     mysql_close();

Many Thanks in advance

解决方案

Going through your script quickly you need to call mysql_query($sql) after

$sql = "INSERT INTO rmbhazards (ROUTE, ADDRESS, LATITUDE, LONGITUDE, HAZARD, RISK) VALUES ('$value', '$value2', '$value3', '$value4', '$value5', '$value6')";

mysql_sql query will actually execute the query.

Also as $value should be unique

 $value = $_POST['ROUTE'];
 $value2 = $_POST['ADDRESS'];
 $value3 = $_POST['LATITUDE'];

 -----

SUGGESTION Since you have just begin ..I will suggest you try mysql_* for just concepts but use mysqli_* or PDO .. You shold also know about sql injection

Here are some tutorials to help you

http://php.net/manual/en/security.database.sql-injection.php

http://php.net/manual/en/book.pdo.php

http://php.net/manual/en/book.mysqli.php

这篇关于从HTML表单添加数据到MySQL数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆