2017-02-15 19 views
1

MySQLを使用してPHPでフォームを作成しようとしています。PHPでMySQLデータベースからテーブルを選択するには?

このフォームのテーマは、form.phpです。すべて飲み物です。飲み物のID(PRIVATE KEY AUTO_INCREMENT)、飲み物の名前、そして飲み物の名前の3つの列だけが含まれている飲み物(ベルギーのビール、ワイン、ソーダ、ラム、価格(char)。他の表の残りの列は同じで、値は異なります。

MySQLのテーブルを選択して、選択したテーブル内の列にデータを追加/削除できるドロップダウンを作成したいとします。

表、列、およびフォーム要素の名前には、オランダ語で名前が付けられています。

Click here to see resources

これらは私が知っているものです: 1)データベース

<?php 

if (! empty($_POST)) 
{ 
    $mysqli = new mysqli('localhost','root','','welkom'); 

    if ($mysqli ->connect_error) 
    { 
     die('connect error: '. $mysqli->connect_errno . ': ' . $mysqli->connect_error); 
    } 

    $sql = "INSERT INTO abdijbieren (naam, prijs) VALUES ('{$mysqli->real_escape_string($_POST['naam'])}','{$mysqli->real_escape_string($_POST['prijs'])}')"; 
    $insert = $mysqli->query($sql); 

    if ($insert) 
    { 
     echo "Success! Row ID: {$mysqli->insert_id}"; 
    } 

    else 
    { 
     die("Error: {$mysqli->errno} : {$mysqli->error}"); 
    } 

    $mysqli->close(); 
}?> 

2にデータを追加するためのPHPコード)フォーム

<form method="post" action="check.php"> <!--check.php is not made yet but when that happens it should be used to automatically update the selected table and auto-return to form.php --> 
     <input name="naam" type="text" placeholder="naam drank/snack" required><br> 
     <input name="prijs" type="text" placeholder="prijs" required><br> 
     <input type="submit" value="Submit form"> 
     </form> 

私はそれを行うことができますすべてのある特定の列にデータを追加することです。 私がこれをどのように解決できるか知っていれば、あなたは私のヒーローです。

+0

** WARNING **:あなたはパラメータ化[使用する必要がありますmysqli' '使用クエリ](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)と['bind_param'](http://php.net/manual/en/mysqli-stmt.bind- param.php)を使用してユーザーデータをクエリに追加します。 **重大な[SQLインジェクションのバグ](http://bobby-tables.com/)を作成するため、マニュアルエスケープと文字列補間または連結を使用しないでください。誤ってエスケープされていないデータは重大なリスクです。 – tadman

+0

'$ sql = mysqli-> prepare(" INSERT INTO abdijbieren(naam、prijs)VALUES(?、?)) "; $ sql-> bind_param( 'ss'、$ _ POST ['naam']、$ _ POST ['prijs']); –

+1

あなたの主な問題は非常に悪いデータベース設計だと思います。いくつかのデータベース設計チュートリアルを行い、データベースを再設計する – RiggsFolly

答えて

0

あなたはこのようなテーブル名を選択することができますテーブルから列を選択することも

SHOW TABLES FROM <your_database> 

を:

SHOW COLUMNS FROM <your_table> 
関連する問題