【问题标题】:PHP Form to DatabasePHP 表单到数据库
【发布时间】:2013-07-12 14:40:50
【问题描述】:

您好,我正在尝试将表单发布到我可以连接的数据库中,并且数据库和表已设置好。但不是在其中发布字段的内容,而是将文本 firstname 和 secondname 发布到列中。

下面是我的代码:

mysql_select_db("company", $conn);

    $sqlCmd = sprintf("INSERT INTO names (firstname, secondname) VALUES ('%firstname','%secondname')", 
        mysql_real_escape_string($_POST["firstname"]),
        mysql_real_escape_string($_POST["secondname"]));

    //echo $sqlCmd;
    //die();    

    mysql_query($sqlCmd);

    mysql_close($conn);
}

?>



    <form method="post">
<input type="text" id="firstname" name="firstname"/>
<input type="text" id="secondname" name="secondname"/>
    <input name="submit" type="submit" value="Submit"/>
</form>

我需要它来发布字段中的值。我是 php 新手,这是我的第一个项目,我希望能得到一些帮助。

只是补充一下,这是我在学习完教程后所做的。

谢谢

瑞恩

【问题讨论】:

  • 你忘了mysql_connect
  • 在 spintf 函数中将 %firstname 和 %secondanem 替换为 %s
  • 我已经得到了这个,它可以工作
  • 更改它也不起作用 *它现在起作用了,当我发布它时它一直在更改它。谢谢

标签: php mysql database forms


【解决方案1】:

不要再使用 php 的 mysql_ 方法了。

它已经过时了: https://wiki.php.net/rfc/mysql_deprecation

改用 mysqli_ 或 pdo

在你的代码中你忘记了mysql_connect() ;)

【讨论】:

    【解决方案2】:

    只需将您的 sprintf 调用更改为:

    $sqlCmd = sprintf("INSERT INTO names (firstname, secondname) VALUES ('%s','%s')", 
        mysql_real_escape_string($_POST["firstname"]),
        mysql_real_escape_string($_POST["secondname"]));
    

    还可以考虑使用更新的 mysqli 函数:http://www.php.net/manual/en/intro.mysqli.php

    HTH; 太平洋

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2014-01-20
      • 2014-05-25
      • 2014-01-27
      • 2012-04-10
      • 2012-06-28
      • 1970-01-01
      相关资源
      最近更新 更多