textarea到mysql描述不行

时间:2012-11-24 20:23:59

标签: mysql textarea

我无法在代码中看到问题 - 我认为它可能是SQL查询。我犯了一个错误,但我无法发现它,这是我第一次与textareas合作。

所以,如果你对它有很好的理解,我真的很期待你的解决方案。

<?php 
ob_start();
?>
<?php include_once "includes/connection.php"; ?>
<h1>Outputting Games from the Database</h1>
<?php

// Connection to the Database


// Quering the database and outputting
$sql = "SELECT * FROM menu";
$result = mysql_query($sql);

if (mysql_num_rows($result) > 0) {

while($row = mysql_fetch_array($result)) {

echo $row['id'] . ' - ' . $row['name'] . ' - ' . $row['description'] . '<br />';

    }

}

// Insert the Data into the database
// Tjekker om formen er blevet sendt
if (isset($_POST['name'])) {

    $name = $_POST['name']; // Ligger titlen i en php variable
    $description = mysql_real_escape_string($_POST['description']);

    $sql = "INSERT INTO menu(name, description) VALUES( {'$name' . '$description')}";

    // Vi laver et tjek om den er blevet indsat i databasen
    // Hvis der ikke skal være noget tjek kan du gøre lige som her:
    // mysql_query($sql);
    // bare slette denne if statement
    if (mysql_query($sql)) {
        header('location: insert.php');
    }

}

?>

<h1>Insert new game title</h1>
<form action="insert.php" method="post">

<input type="text" name="name" />
<textarea name="description"></textarea>
<input type="Submit" value="Insert Game Title" />

</form>

问题是我可以上传我的输入名称“name”
但我无法将我的描述视为包含 基本上我的查询失败了,我有:

$description = mysql_real_escape_string($_POST['description']);
$sql = "INSERT INTO menu(name, description) VALUES( {'$name' . '$description'} )";

与之比较:

    $sql = "INSERT INTO menu(name) VALUES('$name')";

        if (isset($_POST['name'])) {

    $name = $_POST['name']; // Ligger titlen i en php variable
    $description = mysql_real_escape_string($_POST['description']);

    $sql = "INSERT INTO menu(name, description) VALUES( {'$name' . '$description'} )";

    // Vi laver et tjek om den er blevet indsat i databasen
    // Hvis der ikke skal være noget tjek kan du gøre lige som her:
    // mysql_query($sql);
    // bare slette denne if statement
    if (mysql_query($sql)) {
        header('location: insert.php');
    }

    }

如果您能看到解决方案,我们非常欢迎您提供帮助。

1 个答案:

答案 0 :(得分:1)

您已注释掉了查询的执行情况:

// mysql_query($sql);

其次:尝试更改SQL:

$sql = "INSERT INTO menu(name, description) VALUES( '".$name."', '".$description."' )";

尝试将SQL查询打印到您的页面并查看其内容。

print $sql."<br>";

如果查询失败,也打印mysql_error()。

mysql_query($sql) or die ("ERROR: ".mysql_error());