-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>

問題は、「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');
    }

    }

解決策が見つかれば、大歓迎です。

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 に答える