我正试着把句子发送到数据库。它被发送了,但被送空了。
这是提交表格
<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>这是插入数据库的过程。
<?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,但是该文本没有出现在数据库中。
谢谢你
发布于 2014-03-10 08:27:25
尝尝这个
$sql="INSERT INTO Tazkirah (version)
VALUES ('mysql_real_escape_string ($_POST[Tazkirah])')";发布于 2014-03-10 08:04:07
这是因为在version标记中没有找到任何<form>字段。
应该是$_POST['Tazkirah']而不是$_POST[version]
由于您使用的是MySQLi,因此建议您在MySQLi中使用Prepared Statements来抵御SQL注入攻击。
警告:您的PHP脚本容易受到Script攻击。要么过滤参数,要么使用上述链接中建议的准备语句。
发布于 2014-03-10 08:05:23
你需要在这里改变:
$sql="INSERT INTO Tazkirah (version)
VALUES
('$_POST['Tazkirah']')";<--- change here帖子索引名称的$_POST应该类似于字段名。
https://stackoverflow.com/questions/22294886
复制相似问题