【问题标题】:how to insert data in database using textarea in php? [duplicate]如何在 php 中使用 textarea 在数据库中插入数据? [复制]
【发布时间】:2016-09-12 16:14:32
【问题描述】:

我在我的代码中使用文本区域在数据库中插入数据。但我的代码有些混乱。当我单击提交按钮时,textarea 中的文本消失并且未保存在数据库中。 这是我的代码。 表单编码:

<form action="testing.php" method="post">
 <textarea name="text1" rows="10" cols=59></textarea><br>
 <input type="submit" name="submit" value="Add Record">
 <input type="reset" name="reset" value="Clear Text">
</form>

PHP 编码:

<?php 
$text1=mysql_real_escape_string($_POST['text1']);
// connection
$con=mysql_connect("localhost","root","") or die("connection error");
mysql_select_db("test") or die("database error");
//query...
$qry="INSERT INTO mytest(text1) values($text1)";
if(mysql_query($qry))
{
echo "Record have been saved...";
}
else
{
echo "Not Saved";
}
?>

【问题讨论】:

  • 没有not use mysql_*函数的强烈鼓励,没有任何mysql问题。
  • 由于是字符串,您可能需要在查询中引用您的值:INSERT INTO `mytest` (`text1`) values ('$text1') 疑难解答请参阅mysql_error()
  • 编程101:开启错误报告。让您的 PHP / MySQL 输出发生的任何 mysql 错误。这会告诉你更多关于出了什么问题。

标签: php html mysql database mysql-connect


【解决方案1】:

您需要用引号括起来。另外,配合调试一下会更好。

$qry = sprintf("INSERT INTO mytest (text1) VALUES ('%s') ", $text1);

if (mysql_query($qry)) {
    echo "Record have been saved...";
} else {
    echo "There was an error:".mysql_error();
}

注意:不推荐使用 mysql 扩展。请改用 mysqli 或 PDO。

【讨论】:

  • 我已经用 qoutes 包装了它。但我找不到这段代码有什么问题。
  • 谢谢,您的代码运行良好...实际上我忘记在代码周围粘贴 qoutes。
【解决方案2】:

这可能会起作用:

$qry="INSERT INTO mytest(text1) values('".$text1."')";

当然,如果您之前输入过以下行:

$_POST['text1']= $text1;

最重要的是,您使用此函数运行查询:mysql_query ( string $query [, resource $link_identifier = NULL ] )

【讨论】:

  • 为什么这与 OP 问题有任何不同?会发生插值。此外,您没有足够的知识来回答这个问题:表单是否发布到正确的页面?如果 OP var_dumps $text1 会发生什么? $qry?
  • 自从我上次编写 php 代码以来已经有一段时间了,但是正如你所看到的,我添加的查询没有执行,另外可能没有使用 post 变量,所以第一点可能不那么重要.
  • 你的第二个命令是错误的。应该是 $text1 = $_POST['text'1]; - 而不是相反。
猜你喜欢
  • 1970-01-01
  • 2012-05-22
  • 1970-01-01
  • 1970-01-01
  • 2011-01-08
  • 1970-01-01
  • 2021-05-30
  • 2012-04-11
  • 2014-07-01
相关资源
最近更新 更多