首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有可能在数据库中插入一个长句吗?来自文本区域形式

问有可能在数据库中插入一个长句吗?来自文本区域形式
EN

Stack Overflow用户
提问于 2014-03-10 08:02:48
回答 3查看 251关注 0票数 0

我正试着把句子发送到数据库。它被发送了,但被送空了。

这是提交表格

代码语言:javascript
复制
<td align="center" colspan="3">
            <FONT FACE="algerian"><h2>TODAYS TAZKIRAH</FONT>
                <form method="post" id="usrform" action="InsertTazkirah.php"  ><br>
                <textarea rows="4" cols="50" type="text" name="Tazkirah" form="usrform">
                </textarea><br>
                <input type="submit"><br>
                </form>

        </td>

这是插入数据库的过程。

代码语言:javascript
复制
<?php
$con=mysqli_connect("rock","mido","****","fyp");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="INSERT INTO Tazkirah (version)
VALUES
('$_POST[version]')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }


echo '<script> alert ("done!"); </script>';
include_once("admin.php");
mysqli_close($con);

?>

在数据库表中,我有ID和version。因此,当我单击submit时,添加了ID auto_increment,但是该文本没有出现在数据库中。

谢谢你

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-10 08:27:25

尝尝这个

代码语言:javascript
复制
$sql="INSERT INTO Tazkirah (version)
VALUES ('mysql_real_escape_string ($_POST[Tazkirah])')";
票数 0
EN

Stack Overflow用户

发布于 2014-03-10 08:04:07

这是因为在version标记中没有找到任何<form>字段。

应该是$_POST['Tazkirah']而不是$_POST[version]

由于您使用的是MySQLi,因此建议您在MySQLi中使用Prepared Statements来抵御SQL注入攻击。

警告:您的PHP脚本容易受到Script攻击。要么过滤参数,要么使用上述链接中建议的准备语句。

票数 1
EN

Stack Overflow用户

发布于 2014-03-10 08:05:23

你需要在这里改变:

代码语言:javascript
复制
$sql="INSERT INTO Tazkirah (version)
VALUES
('$_POST['Tazkirah']')";<--- change here

帖子索引名称的$_POST应该类似于字段名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22294886

复制
相关文章

相似问题

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