0

重複の可能性:
オブジェクト指向プログラミングを使用してデータベースに値を挿入する

私は PHP のオブジェクト指向の概念に非常に慣れていません。オブジェクト指向の概念を使用して、フォームの値をデータベースに挿入しようとしています。エラー メッセージは表示されませんが、データベースの値が更新されません。

親切にコードを見て、それを機能させるためにどのような変更を行う必要があるか教えてください.

入力.php

<html>
<body>
<form action="database.php" method="post">
Name : <input type ="text" name = "name"/>
Number  :<input type ="text" name = "number"/>
<input type ="submit" value = "submit"/>
</form>
</body>
</html>

データベース.php

<?php
class Database
{
    var $host;
    var $user;
    var $pass;
    var $data;
    var $con;
    var $table;
    var $db;

    public function hostname()
    {
        $this->host="localhost";
    }
    public function username()
    {
        $this->user="cgiadmin";
    }
    public function password()
    {
        $this->pass="cgi";
    }
    public function databasename()
    {
        $this->data="j2";
    }
    public function connection()
    {
        $this->con="mysql_connect($this->host,$this->user,$this->pass)";
    }
    public function tablename()
    {
        $this->table="Insert into table(name,number) values('$_POST[name]','$_POST[number]')";
    }
    public function databaseconnection()
    {
        $this->db="mysql_select_db($this->data,$this->con)";
    }
    public function mysql_close()
    {
    }
}
$name=new Database;
$name->connection();
$name->databaseconnection();
$name->tablename();

echo "thanks for taking the survey";
$name->mysql_close();
?>

必要な変更点をお知らせください。ありがとうございました 。

編集

私はいくつかの変更を加えましたが、それでも動揺していないようです。助けてください

<?php
class Database
{
    var $host;
    var $user;
    var $pass;
    var $data;
    var $con;
    var $table;
    var $db;

    public function controls()
    {
        $this->host="localhost";
        $this->user="cgiadmin";
        $this->pass="cgi";
        $this->data="j2";
    }

    public function connection()
    {
        $this->con="mysql_connect($this->host,$this->user,$this->pass)";
    }
    public function tablename()
    {
        $this->table="Insert into employee(name,number) values('$_POST[name]','$_POST[number]')";
    }
    public function databaseconnection()
    {
        $this->db="mysql_select_db($this->data,$this->con)";
    }

}
$name=new Database;
$name->connection();
$name->databaseconnection();
$name->tablename();

echo "thanks for taking the survey";

?>
4

1 に答える 1

0

変更してみる

$this->table="Insert into table(name,number) values('$_POST[name]','$_POST[number]')";

のようなものに

$this->table="Insert into sometable(name,number) values('$_POST[name]','$_POST[number]')";

データベースも更新されていることを確認してください。

tableはテーブルの有効な名前ではないようです。これは SQL キーワードです。

また、 mysql_db_query関数または同等の関数を呼び出していません。

編集:

mysql_db_query は非推奨です。指定されたリンクから代替を使用してください。

于 2012-06-14T04:52:18.360 に答える