大家好,我有一个基本的 Web 表单,用于将数据放入 mysql 数据库,我创建了代码来报告我是否正确连接到我的数据库,并且在完成表单后我测试了它,它似乎可以我期望什么,但是当我转到我的数据库时,实际上没有输入任何数据?我已经在本地和服务器上尝试过,两者都做同样的事情。这是我的两个 .php 表单供您查看,我在本地计算机上使用它在 MAMP 中进行测试,以防我做错了什么:
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>
危险表格.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();
非常感谢
最佳答案
快速浏览你的脚本你需要在之后调用mysql_query($sql)
$sql = "INSERT INTO rmbhazards (ROUTE, ADDRESS, LATITUDE, LONGITUDE, HAZARD, RISK) VALUES ('$value', '$value2',
'$value3', '$value4', '$value5', '$value6')";
mysql_sql
查询会实际执行查询。
同时 $value
应该是唯一的
$value = $_POST['ROUTE'];
$value2 = $_POST['ADDRESS'];
$value3 = $_POST['LATITUDE'];
-----
建议 因为你刚刚开始..我建议你尝试 mysql_* 只是为了概念
但是使用 mysqli_*
或 PDO
.. 你应该也知道 sql 注入(inject)
这里有一些教程可以帮助你
http://php.net/manual/en/security.database.sql-injection.php
关于php - 从 HTML 表单向 MySQL 数据库添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16129418/