正如标题所说,我正在努力实现这一目标。到目前为止,我已经设法连接到数据库并创建表,但我很难获得输入字段与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();
?>
答案 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();
}
您还需要确保表创建语法正确,并且在语句中使用的所有变量都已清理并正确处理。