连接 PHP 源代码并提交表单到 MySQL 数据库
Posted
技术标签:
【中文标题】连接 PHP 源代码并提交表单到 MySQL 数据库【英文标题】:Connecting PHP source code and submit form to MySQL Database 【发布时间】:2014-08-06 07:24:03 【问题描述】:我正在尝试学习 php,并且正在尝试将 mysql 数据库与我的 PHP 代码连接起来,以制作一个提交表单,让我可以将数据输入到数据库中。我的问题是源代码正在连接,但 html 没有将变量发布到 PHP 文件。我真的需要一些帮助。
这是我的 HTML 源代码
<html>
<head>
<title>Form Input Data</title>
</head>
<body>
<table border="1">
<tr>
<td align="center">Form Input Employees Data</td>
</tr>
<tr>
<td>
<table>
<form action="input.php" method="POST">
<tr>
<td>Name</td>
<td><input type="text" name="name" size="20">
</td>
</tr>
<tr>
<td>Address</td>
<td><input type="text" name="address" size="40">
</td>
</tr>
<tr>
<td></td>
<td align="right"><input type="submit"
name="submit" value="Sent"></td>
</tr>
</table>
</td>
</tr>
</table>
这是我的 PHP 源代码
<?php
$user_name = "fees0_14446440";
$password = "********";
$database = "fees0_14446440_addressbook";
$server = "sql107.0fees.net";
mysql_connect("$server","$user_name","$password");
mysql_select_db("$database");
$order = "INSERT INTO Trial
(name, address)
VALUES
('$name',
'$address')";
$result = mysql_query($order);
if($result)
echo("<br>Input data is succeed");
else
echo("<br>Input data is fail");
?>
【问题讨论】:
对于任何带有 [php] 和 [mysql] 标签的问题,这应该是强制性的:***.com/questions/60174/… 警告您的代码容易受到 sql 注入攻击! 您没有使用任何 POST 变量。 【参考方案1】:尝试以下方法:
<?php
$user_name = "fees0_14446440";
$password = "********";
$database = "fees0_14446440_addressbook";
$server = "sql107.0fees.net";
mysql_connect("$server","$user_name","$password");
mysql_select_db("$database");
if (isset($_POST['submit']))
$name = $_POST['name'];
$address = $_POST['address'];
$order = mysql_query("INSERT INTO Trial (name, address) VALUES ('$name', '$address')");
if ($order)
echo '<br>Input data is successful';
else
echo '<br>Input data is not valid';
?>
【讨论】:
【参考方案2】:将 POST 值放入变量中
$name=$_POST['name'];
$address=$_POST['address'];
sql查询前 并将sql查询编写为
$order = "插入试用版
(name, address)
VALUES
('".$name."',
'".$address."')";
【讨论】:
【参考方案3】:您可以在 PHP 的 $_POST
变量中找到 POST 数据。它应该包含通过 POST 方法传递的所有值。
$name = $_POST["name"];
【讨论】:
不客气。 vhu 在对原始问题的评论中发布的 SO 问题也绝对是一本好书。 @user3717206 仅供参考,您仍然需要清理您的数据!【参考方案4】:试试这个
<html>
<head>
<title>Form Input Data</title>
</head>
<body>
<form action="input.php" method="POST">
<table border="1">
<tr>
<td align="center">Form Input Employees Data</td>
</tr>
<tr>
<td>
<table>
<tr>
<td>Name</td>
<td><input type="text" name="name" size="20">
</td>
</tr>
<tr>
<td>Address</td>
<td><input type="text" name="address" size="40">
</td>
</tr>
<tr>
<td></td>
<td align="right"><input type="submit"
name="submit" value="Sent"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
在 PHP 代码中
$order = "INSERT INTO Trial
(name, address)
VALUES
('$_POST["name"]',
'$_POST["address"]')";
【讨论】:
以上是关于连接 PHP 源代码并提交表单到 MySQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章
MySQL / PHP 数据库连接以从 Web 表单输入文本