正如标题所示,我正在努力实现这一目标。到目前为止,我已经成功连接到数据库并创建表,但我很难让输入字段与 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/