【发布时间】:2021-03-11 21:29:12
【问题描述】:
我似乎无法更改“first_name”列的数据类型,我希望它是 VARCHAR(45),但它不会从 INT(11) 更改,如下图和连接所示。
我曾多次尝试对图表进行正向工程,但它并没有从右图中显示的最初的第一次“迭代”更新。
更新: 我试图删除文件,重写表并用正确的信息对它们进行转发工程,但它仍然没有从整数改变....啊。
在下面发布我的代码:
PHP:
<?php
//connection information
$client = "localhost";
$user = "root";
$key = "root";
$dbname = "formDB";
// Attempt MySQL server connection
$connection = new mysqli($client, $user, $key, $dbname);
// Check connection
if($connection === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
// Escape user inputs for security
$first_name = mysqli_real_escape_string($connection, $_POST['first_name']);
$last_name = mysqli_real_escape_string($connection, $_POST['last_name']);
$email_address = mysqli_real_escape_string($connection, $_POST['email_address']);
// attempt insert query execution
$sql = "INSERT INTO person (first_name, last_name, email_address) VALUES ('$first_name', '$last_name', '$email_address')";
if(mysqli_query($connection, $sql)){
echo "Records added successfully!";
} else{
echo "ERROR! not able to execute: <br> $sql <br> " . mysqli_error($connection);
}
// close connection
mysqli_close($connection);
?>
HTML:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>form to db</title>
</head>
<body>
<!-- create form -->
<form class="details" action="insert.php" method="post">
<p>
<label for="first_name"> First name:</label>
<input type="text" name="first_name" id="first_name">
</p>
<p>
<label for="last_name">Last Name:</label>
<input type="text" name="last_name" id="last_name">
</p>
<p>
<label for="email_address">Email Address:</label>
<input type="text" name="email_address" id="email_address">
</p>
<input type="submit" value="submit">
</form>
</body>
</html>
【问题讨论】:
-
MySQL Workbench 是我见过的漏洞最多的应用程序之一。这就是为什么我建议在搜索任何可能只是工作台中的错误的错误之前检查真实的 mySQL 查询中的所有内容,例如解释表
-
我是 SQL 新手,该语法是什么样的?
标签: php html mysql mysql-workbench alter-table