我正在尝试创建一个PHP页面,它将接受输入并创建一个包含该输入的表

时间:2016-07-01 19:37:29

标签: php mysql database input field

正如标题所说,我正在努力实现这一目标。到目前为止,我已经设法连接到数据库并创建表,但我很难获得输入字段与PHP通信以传递变量。以下是我的代码,任何帮助表示赞赏:

<html>
<input type="text" name="firstname" />
</html>

<?php
$dbserver= "localhost";
$dbuser= "nyamamot_live";
$dbpass = "co6}]oJ5Db9v";
$dbname = "nyamamot_live";

//conncet
$conn = new mysqli($dbserver, $dbuser, $dbpass, $dbname);
//check
if ($conn->connect_error) {
   die("Connection failed: " . $conn->connect_error);
}

// make vars
$tablename = "MyTable";
$col1 = "col1";


$firstname = $_POST["firstname"];


// sql to create table
$sql = "CREATE TABLE $tablename (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
$firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";

if ($conn->query($sql) === TRUE) {
    echo "Table MyGuests created successfully\n";
} else {
    echo "Error creating table: " . $conn->error;
}

$conn->close();

?>

1 个答案:

答案 0 :(得分:2)

您需要为表单创建一个按钮和一个操作,然后在运行代码之前进行测试以确保它已提交:

<html>
    <form name="myform" action="myphp.php" method="post">
        <input type="text" name="firstname" />
        <input type="submit" name="submit" />
    </form>
</html>

然后测试:

if(isset($_POST['firstname']) && '' != $_POST['firstname']){

    $dbserver= "localhost";
    $dbuser= "nyamamot_live";
    $dbpass = "co6}]oJ5Db9v";
    $dbname = "nyamamot_live";

//conncet
    $conn = new mysqli($dbserver, $dbuser, $dbpass, $dbname);
//check
   if ($conn->connect_error) {
       die("Connection failed: " . $conn->connect_error);
    }

// make vars
    $tablename = "MyTable";
    $col1 = "col1";


    $firstname = $_POST["firstname"];


// sql to create table
    $sql = "CREATE TABLE $tablename (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    $firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP
    )";

    if ($conn->query($sql) === TRUE) {
        echo "Table MyGuests created successfully\n";
    } else {
        echo "Error creating table: " . $conn->error;
    }

    $conn->close();
}

您还需要确保表创建语法正确,并且在语句中使用的所有变量都已清理并正确处理。