【发布时间】:2017-02-25 06:31:42
【问题描述】:
我正在尝试创建一个简单的 html 表单,通过 MySQL 保存信息,但是我在连接数据库时遇到了一些问题。我认为 $db_selected = mysql_select_db(DB_NAME, $link);是给我的问题。仅供参考 DB_NAME 是我要使用的数据库表。
我的 HTML
<form action="demo.php" method="post">
<div class="form-group">
<label for="firstname">First Name:</label>
<input type="text" class="form-control" id="firstname" name="first_name">
</div>
<div class="form-group">
<label for="lastname">Last Name:</label>
<input type="text" class="form-control" id="lastname" name="last_name">
</div>
<div class="form-group">
<label for="dob">Date of birth:</label>
<input type="password" class="form-control" id="dob" name="date_of_birth">
</div>
<div class="form-group">
<label for="pob">Place of birth:</label>
<input type="text" class="form-control" id="pob" name="place_of_birth">
</div>
<div class="form-group">
<label for="government">Your Local government:</label>
<input type="text" class="form-control" id="government" name="government">
</div>
<div class="form-group">
<label for="qualifications">Qualifications:</label>
<textarea class="form-control" rows="5" id="qualifications" name="qualifications"></textarea>
</div>
<div class="form-group">
<label for="skills">Skills:</label>
<textarea class="form-control" rows="5" id="skills" name="skills"></textarea>
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
我的 PHP
<?php
define('DB_NAME', 'forms1');
define('DB_USER', 'c88888');
define('DB_PASSWORD', '*******');
define('DB_HOST', 's********.com');
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
$db_selected = mysqli_select_db(DB_NAME, $link);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysqli_error());
}
$value = $_POST['first_name'];
$value2 = $_POST['last_name'];
$value3 = $_POST['date_of_birth'];
$value4 = $_POST['place_of_birth'];
$value5 = $_POST['government'];
$value6 = $_POST['qualifications'];
$value7 = $_POST['skills'];
$sql = "INSERT INTO demo (first_name, last_name, date_of_birth, place_of_birth, government, qualifications, skills) VALUES ('$value', '$value2', '$value3', '$value4', '$value5', '$value6', '$value7')";
if (!mysqli_query($sql)) {
die('Error: ' . mysqli_error());
}
mysqli_close();
?>
【问题讨论】:
-
你应该到处使用mysqli,而不是mysql
-
first_name != 他们必须匹配的名字
-
@user2182349 我改了代码还是不行
-
@nogad 谢谢,但它仍然不能解决问题
-
在伤害自己之前停止观看那些 YouTube 教程。他们中的许多人是由几乎不知道自己在做什么的人制作的,盲人在引导盲人。如果您需要更好的建议,PHP the Right Way 是一个不错的起点。