-1

我真的看不出我的代码中的问题 - 我认为它可能是 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>

问题是我可以使用“名称”的名称上传我的输入,
但我无法包含我的描述。
基本上我的查询失败了:

$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');
    }

    }

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

4

1 回答 1

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());
于 2012-11-24T20:45:53.897 回答