0

フォームを使用してデータベースにデータを投稿する際に問題があります。非常に基本的なことだと思いますが、私はかなり行き詰まっています:/

select from database ルーチンを使用して、データベースからデータを取得できます。したがって、データベースとの接続がおそらく問題ではないことはわかっています。

これは私の「upload.php」です:

<html>
<head>
<title>Upload</title>
</head>
<body>

    <form action="action.php" method="post">

        <fieldset class="first">
             Name: 
        <input type="text" name="author" />
        Heading:
          <input type="text" name="heading" />

        Text:
        <textarea type="text" name="thecontent"> </textarea>
        </fieldset>


        <fieldset>
        <input type="submit"/> 
            </fieldset>
    </form>



</body>
</html>

そして、これは私の「action.php」です:

<html>
<head>

<title>Send!</title>
</head>

<body>

<?php

 ini_set('display_errors', 1); error_reporting(E_ALL); 

$link = mysql_connect('localhost','name','pasword')
or die ("Unable to connect"); 

$mydb = mysql_select_db('the_database',$link)
or die ("No database found"); 

$author = $_POST['author']; 
$heading = $_POST['heading'];
$thecontent = $_POST['thecontent'];

$mysql_query="INSERT INTO articles ('heading', 'author', 'content')
 VALUES ('$heading','$author','$thecontent')" or die(mysql_error());   

echo "This was send: $author $heading $thecontent <br> ";


 mysql_close()

?> 

</body>
</html>

すべての助けをいただければ幸いです!!

乾杯、ジギー

みんな助けてくれてありがとう!mysqli を使用してデータを挿入しようとしていますが、まだ機能していません。これは action.php の新しいコードです。

<html>
<head>

<title>Send!</title>
</head>

<body>

<?php

 ini_set('display_errors', 1); error_reporting(E_ALL); 
$DB_HOST = 'localhost';
$DB_USER = '**';
$DB_PASS = '***';
$DB_NAME = '***';
@ $db = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if (mysqli_connect_errno()) {
echo 'Error.';
exit();
}

$author = $_POST['author']; 
$heading = $_POST['heading'];
$thecontent = $_POST['thecontent'];

$query = 'INSERT INTO articles ('heading', 'author', 'content')
 VALUES ('$heading','$author','$thecontent')';   

$result = $db->query($query);
    if ($result) {
    echo $db->affected_rows."This was added.";
    } 
    else {
    echo "somethings gone very wrong.";
    }

$db->close();




?> 

</body>
</html>

私は何をしているのですか?助けていただければ幸いです。

乾杯、ジギー

4

2 に答える 2

1

INSERT文字列を作成しますが、それを使用して実際に DB をINSERTするメソッドを呼び出すことはありません。

さらに、古いmysql_*メソッドは非推奨です。代わりにPDOまたはmysqliAPI を使用してください。http://www.php.net/manual/en/mysqlinfo.api.choosing.phpを参照してください。

これに関するstackoverflowの投稿も参照してください:mysqliまたはPDO - 長所と短所は何ですか?

いくつかのPDO準備済みステートメントの例PDO: http://www.php.net/manual/en/pdo.prepare.php

于 2012-10-01T19:53:31.680 に答える
-1
$mysql_query="INSERT INTO articles    ('heading', 'author', 'content')
 VALUES ('$heading','$author','$thecontent')";
mysql_query($mysql_query);
//required to run the query..

And mysql_close(); // missing :p
于 2012-10-01T20:01:06.770 に答える