textarea的值不会进入数据库

时间:2013-06-19 03:20:00

标签: php html mysql sql web

if($_POST['button']){
    $name= $_POST['name'];
    $url= $_POST['url'];
    $description= $_POST['description'];

    mysql_query("INSERT INTO videos VALUES (
        '','$name','$url','$description'
        )");
}

echo '<h1>Add Video</h1>
<form action="addvideo.php" method="post">
Name: <input type="text" name="name" /><br />
Url: <input type="text" name="url" /><br />
<a style="position:relative; top:-250px;">Description:</a> 
<textarea    name="description" style="height:500px; width:750px;"></textarea>
<input type="submit" value="submit" name="button" style="position:relative; top:-250px;" />
</form>';

这是我正在构建的网站的代码,您可以在其中输入YouTube视频的数据。然后应该将其插入我的数据库中的表中。问题是,当描述在一行中时,它会在到达textarea的末尾时中断。这使得它不会出于某种原因将任何内容放入表中。这就是问题所在。

2 个答案:

答案 0 :(得分:1)

您可以像使用

一样使用MySQL_real_escape_string
<?php 
if(isset($_POST['submit'])){
    $con = mysql_connect ('localhost','username','password') or die(mysql_error()); 
        mysql_select_db('database') or die(mysql_error());
    //$desc = mysql_real_escape_string($_POST['txtDesc']);//nl2br($_POST['txtDesc']);
    $desc = mysql_real_escape_string($_POST['txtDesc']);
    $sql = "INSERT INTO desc_tbl (desc) VALUES('$desc')";
    $result = mysql_query($sql) or die(mysql_error());
}
?>
<form method="POST" action="textarea.php">
<textarea name="txtDesc" row = "50" cols = "50" id="txtDesc" wrap="hard"></textarea>
<input type="submit" value="submit" name="submit">
</form>

答案 1 :(得分:0)

我建议mysqli使用mysql。也可以使用prepared statements,它们可以帮助您免于麻烦。