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

标签 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();

?>

最佳答案

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

<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();
}

您还需要确保您的表创建语法正确,并且您在语句中使用的任何变量都经过清理和正确处理。

关于php - 我正在尝试创建一个 PHP 页面,它将接受输入并创建一个包含该输入的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38152862/

相关文章:

java - 无法创建 PoolableConnectionFactory(用户 'root' @'localhost' 的访问被拒绝(使用密码 : YES))

PHP GDAL/OGR 库的使用,哪种方法更干净?

mysql - 如何从 MySQL 表中获取同一 ID 的最新时间戳记录?

MYSQL按 "gaps"填充组

database - 如何从 Oracle View 中发现底层主(或唯一)键列

java - 使用内容值的更新方法

java - 与应用程序打包在一起的最轻的数据库

javascript - 通过 AJAX 编辑/更新 php 中的数据

php - 我可以在外部 URL 上使用 PHP opendir() 吗?

php - 使用 PhpStorm 创建和配置 Laravel 项目