我有数据库中的项目,但为什么当我尝试从textarea导入超过500个字符时我有错误,该字段的数据类型是TEXT
这是表格的一部分
<?php
//query to get the $ProductDesc and some other codes then
echo "<textarea name='p_desc' id='p_desc' class='input' rows='10' cols='53'>$ProductDesc</textarea>";
?>
然后在同一页面中的表单发布,然后我得到这样的值:
$a4 = $_REQUEST['p_desc'];
然后我试图(更新或添加)记录,
我在导入时出错,并且在更新时没有生效
这是我的更新查询
mysql_query("UPDATE product SET ProductDesc='$a4' WHERE ProductID = $productID ");
请帮助并感谢高级,PHP中的错误或什么?
表单标题:
<form name="myform" action="add-product.php" method="post" enctype="multipart/form-data">
我正在使用enctype =“multipart / form-data”因为我上传的图片也很好,除了textarea
答案 0 :(得分:0)
您如何设置ProductDesc
字段?它是varchar
,mediumtext
,longtext
?我总是使用longtext
,我从来没有遇到超过500个字符的任何问题。发布您的表单,也许您需要在将描述提交到数据库之前从描述中删除一些字符。
那里有一点打嗝:D
而不是
<?php
//query to get the $ProductDesc
<textarea name='p_desc' id='p_desc' class='input' rows='10' cols='53'>$ProductDesc</textarea>
?>
使用
<?php
//query to get the $ProductDesc
echo "<textarea name='p_desc' id='p_desc' class='input' rows='10' cols='53'>".$ProductDesc."</textarea>";
?>
并修复更新或添加函数重写它以便检查它是否已经存在,然后在if语句中添加查询或更新函数。
当你点击表单上的提交时,你现在有什么错误告诉你?!?
答案 1 :(得分:0)
在您的查询之前添加
$a4 = mysql_real_escape_string($a4);
实际上,您应该在进入查询的任何用户指定的值上调用此函数。您不仅可以产生错误,例如您所看到的错误,还可以将描述指定为
'; DROP TABLE product; --
那时你真的遇到了麻烦。这被称为SQL injection,你应该非常小心。