首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用php将用户提交的信息发布到mysql数据库

使用php将用户提交的信息发布到mysql数据库
EN

Stack Overflow用户
提问于 2015-08-05 07:08:37
回答 6查看 420关注 0票数 0

我不能让我的密码起作用。我对php/mysql很陌生,但我确信我在这里做了很多事情。我不会犯任何错误的。在下面发布的代码中,如果我将信息放入feilds并单击屏幕上的按钮,屏幕就会出现刷新,但是当我检查我创建的mysql数据库时,这个信息就不存在了。我知道我与数据库的连接是有效的,因为我已经将假数据输入到数据库中,而网页正在把它拉过来并显示得很好。

db.php是一个单独的文件,包含用于连接数据库(服务器、用户名、密码)的格式化php代码,我知道该文件工作,因为这也是我将数据拖到网页中的方式。如果需要,我的服务器被设置为php 4.0.10.7,不幸的是,我不能更改它。

下面是我的代码:

代码语言:javascript
复制
<div class="a" id="add_customer">
<form id="customerdata" name="customerdata">
<input type="text" align="center" id="name" name="NAME" placeholder="Customer Name">
<input type="text" align="center" id="address" name="ADDRESS" placeholder="Address">
<b>Paid?:</b>
<select id="PAID" name="PAID">
<option value="select">Make a Selection</option>
<option value="yes">Yes</option>
<option value="no">No</option>
</select>
<input type="text" align="center" id="comments" name="COMMENTS" placeholder="Comments">
<input type="submit" id="submit" name="submit" value="Add Customer">
</form>
</div>


<?php
if(isset($_POST['submit']))
{
include('db.php');
$database="mysql_database";

$con = mysql_connect($server,$username,$password);

$sql="INSERT INTO mysql_database (NAME, ADDRESS, PAID, COMMENTS)
VALUES
('$_POST[NAME]','$_POST[ADDRESS]','$_POST[PAID]','$_POST[COMMENTS]')";
$a=mysql_query($sql);

if (!$a)
{
die("Error addding record. " . mysql_error());
}
else
{
echo "1 record added";
}
mysql_close($con);
}
?>
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-08-05 07:17:37

代码语言:javascript
复制
<div class="a" id="add_customer">
<form id="customerdata" name="customerdata" method="post">
<input type="text" align="center" id="name" name="name" placeholder="Customer Name">
<input type="text" align="center" id="address" name="address" placeholder="Address">
<b>Paid?:</b>
<select id="paid" name="paid">
<option value="select">Make a Selection</option>
<option value="yes">Yes</option>
<option value="no">No</option>
</select>
<input type="text" align="center" id="comments" name="comments" placeholder="Comments">
<input type="submit" id="submit" name="submit" value="Add Customer">
</form>
</div>


<?php
if(isset($_POST['submit']))
{
include('db.php');
$database="mysql_database";

$con = mysql_connect($server,$username,$password);
$name = $_POST['name'];
$address= $_POST['address'];
$paid= $_POST['paid'];
$comments= $_POST['comments'];
$sql="INSERT INTO mysql_database (NAME, ADDRESS, PAID, COMMENTS)
VALUES
('$name','$address','$paid','$comments')";
$a=mysql_query($sql);

if (!$a)
{
die("Error addding record. " . mysql_error());
}
else
{
echo "1 record added";
}
mysql_close($con);
}
?>
票数 1
EN

Stack Overflow用户

发布于 2015-08-05 07:20:49

  1. 不推荐mysql_*函数,请使用mysqli_*
  2. 输入没有经过消毒或转义,因此容易受到SQL注入的攻击。
  3. 您引用的POST变量不正确。在您的代码中,您实际上是插入'$_POSTNAME‘。
  4. 你要插入哪张桌子?那应该是在INSERT INTO之后。

您应该将所有经过消毒的POST输入设置为单独的变量,但是,这是当前代码可能的样子:

代码语言:javascript
复制
$con = mysqli_connect($server,$username,$password,$database);

$sql="INSERT INTO table_name (NAME, ADDRESS, PAID, COMMENTS)
VALUES
('".mysqli_real_escape_string($_POST['NAME'])."','".mysqli_real_escape_string($_POST['ADDRESS']."','".mysqli_real_escape_string($_POST['PAID']."','".mysqli_real_escape_string($_POST['COMMENTS']."')";
$a=mysqli_query($con,$sql);

if ($a)
{
echo "1 record added";
}
mysqli_close($con);
票数 1
EN

Stack Overflow用户

发布于 2015-08-05 07:17:57

代码语言:javascript
复制
<?php
  include('db.php'); //include db first

  $con = mysql_connect($server,$username,$password); //connect to db

   if(isset($_POST['submit'])) {
     $database="mysql_database"; //I think this will not work.
     $sql="INSERT INTO $database (NAME, ADDRESS, PAID, COMMENTS) VALUES ('$_POST[NAME]','$_POST[ADDRESS]','$_POST[PAID]','$_POST[COMMENTS]')";
//Try this
$sql = "INSERT INTO (your_db_name) (NAME, ADDRESS, PAID, COMMENTS) VALUES ('".$_POST['name']."','".$_POST['address']."','".$_POST['paid']."','".$_POST['comments']."')"; //I used concantenation here

     $a=mysql_query($sql);
   }

   if (!$a) {
     die("Error addding record. " . mysql_error());
   }else{
     echo "1 record added";
   }
   mysql_close($con);
?>
Try this piece of code. 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31825673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档