我有一个 HTML 表单,但我猜它的设置不正常。我将从 HTML (PHP) 文件和 php 中发布代码以将其发送到数据库。
<form action="upload.php" method="POST">
<!-- Name input-->
<div class="form-group">
<label class="control-label" for="name">Name</label>
<div class="">
<input id="name" name="name" placeholder="First and Last Name" class="form-control input-md" type="text" required>
</div>
</div>
<div class="form-group">
<label class=" control-label" for="supportingDoc">Upload Supporting Documentation</label>
<div class="">
<input id="supportingDoc" name="supportingDoc" class="input-file" type="file" style="margin-top: .5em; margin-left: 4em;">
</div>
</div>
<hr>
<!-- Submit -->
<div class="form-group">
<label class="control-label" for="submit"></label>
<div class="">
<button value="Submit" type="submit" id="submit" name="submit" class="btn btn-danger" style="border-radius: 25px;">Submit</button>
</div>
</div>
</form>
这是我的 SQL/PHP
<?php
$servername = "localhost";
$username = "xxx";
$password = "xxx";
$dbname = "xxx";
// Create connection
$con = mysqli_connect("localhost","xxx","xxx","xxx");
// Check connection
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if (isset($_REQUEST['name'])){
// set variables
$name = mysql_real_escape_string($_POST['name']);
$supportingDoc = mysql_real_escape_string($_POST['supportingDoc']);
$sql = "INSERT INTO `tablew` (name, supportingDoc) VALUES ('$name', '$supportingDoc')";
$result = mysqli_query($con,$sql);
if ($con->query($sql) === TRUE) {
echo "New record created successfully";
printf("New record created successfully");
} else {
echo "Error: " . $sql . "<br>" . $con->error;
printf("Error: " . $sql . "<br>" . $con->error);
}
$con->close();
}
?>
我尝试了各种变体,但 phpmyadmin 中没有任何显示。我什至从我之前创建的网站进行了复制,但它仍然无法正常工作,哈哈。
我看到登录信息有变量,但仍将其放在 mysqli 中,但我已经处理这件事大约 8 个小时了,现在没电了,所以希望有人能看到我搞砸了什么.
在此先感谢大家的帮助。
============================================= ============================ 更新: 我做了上面提到的所有更改,现在得到这个:
警告:mysqli_connect():(HY000/1049):未知数据库
我可以在 phpmyadmin 和 Sequel Pro 中看到数据库。我还确保设置密码并登录到“root”。我的登录代码如下:
$con = mysqli_connect("localhost","root","root","epboarding");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
这是我的帖子:
if (isset($_REQUEST['submit'])){
// set variables
$name = mysqli_real_escape_string($con, $_POST['name']);
$sql = "INSERT INTO `wos` (name) VALUES ('$name')";
$result = mysqli_query($con,$sql);
最佳答案
可能存在以下问题:
- 上传错误。在表单标签中使用 enctype="multipart/form-data"。
- 更正 Mysql_connect 详细信息,即用户名、密码、数据库名。
- mysql_real_escape_string 已被删除。使用 mysqli。
- 重新检查您的列名称,即名称、supportingDoc。
关于php - HTML 表单不使用 PHP 将数据发送到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48030941/