PHP代码未将HTML连接到MYsql数据库[关闭]
Posted
技术标签:
【中文标题】PHP代码未将HTML连接到MYsql数据库[关闭]【英文标题】:PHP code not connecting HTML to MYsql database [closed] 【发布时间】:2022-01-21 09:44:44 【问题描述】:我是 php 新手......所以我想制作一个程序,其中我的 html 表单输入存储在数据库中。我遵循youtube tutorial 来执行此操作,这是我为 php 文件编写的代码`
$firstname = $_POST ['firstname'] ;
$email = $_POST ['email'];
$admin = $_POST ['admin'];
$school = $_POST ['school'];
$gender = $_POST ['gender'] ;
//DATABASE CONECTION
$conn = new mysqli('localhost', 'root', '', 'register');
if ($conn-> connect_error)
die ('connection error : ' . $conn-> connect_error);
else
$stmt = $conn->prepare("INSERT INTO register(firstname, email, admin, gender)
values(?, ?, ?, ?, ?)");
$stmt-> bind_param("ssiss", $firstname, $email, $admin, $gender);
$stmt-> execute();
echo"Registration succesfull";
$stmt-> close();
$conn-> close();
`
这是我的数据库
还有我的html代码
<html>
<head>
<title>form</title>
</head>
<body>
<h1>
<div> <center>Trial form</center>
</h1>
<form action="connect.php" method="post">
<center> <label for="name"><b>enter name</b> </label> <br>
<input type="text" name="first name" id="firstname"> <br>
<br>
<label for="email"><b>email</b></label><br>
<input type="email" name="email" id="email"> <br>
<br>
<label for="admin no."><b> enter admin no. </b></label><br>
<input type="number" name="admin" id="admin"> <br>
<label for="school"><b>enter school name</b></label> <br>
<input type="text" name="school" id="school"> <br>
<label for="school"><b>Gender</b></label> <br>
<label for="male"> <input type="radio" name="gender" id="male" value="m"><b>male</b></label> <br>
<label for="female"><input type="radio" name="gender" id="female" value="f"><b>female</b></label><br>
<input type="submit" value="submit"><br>
</form> <center>
</div>
<body bgcolor="#fcba03">
<body text="#000000"
</body>
</html>
当我运行它时,HTML 表单运行良好,但 PHP 程序只是显示在屏幕上,没有任何输出。请帮助我,谢谢。
为了解决这个问题,我尝试重写 php 代码。
我尝试调试 php 代码,但这是它给我的错误Warning: mysqli::__construct(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\Users\Dell\connect.php on line 10 connection error : Access denied for user 'root'@'localhost' (using password: YES)
(我用我的mysql密码连接它)
这是我运行时的 html 代码
enter image description here
这是我的 php 代码
enter image description here
我也不断收到这个错误
Fatal error: Uncaught Error: Call to a member function prepare() on bool in C:\Users\Dell\connect.php:14
Stack trace:
#0 main
thrown in C:\Users\Dell\connect.php on line 14
【问题讨论】:
什么确切不起作用?您尝试过什么来解决问题?这个问题真的与 HTML 有关吗?您尚未共享任何 HTM 标记,也未共享用于向此脚本发送数据的表单 实际上有html代码为png我也尝试过重新编写代码 您错过了将school
列添加到您的查询。根据您的屏幕截图,该列不能为空且没有默认值,因此您也必须添加它。
@M.Eriksson 我纠正了错误似乎仍然不起作用
mysql 的错误表明 root 有密码,因此请找到 root 的密码并在数据库连接中使用它。目前,根据您上面显示的代码,root 没有密码
【参考方案1】:
我认为问题在于您提供了四个值,但要求提供五个。 试试这个:
$stmt = $conn->prepare("INSERT INTO register(firstname, email, admin, gender)
values(?, ?, ?, ?)"); // removed the last '?'
$stmt-> bind_param("ssis", $firstname, $email, $admin, $gender); // removed a 's' from the parameters data type
【讨论】:
实际上我不小心没有为学校占位符添加变量,但仍然不起作用,谢谢以上是关于PHP代码未将HTML连接到MYsql数据库[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
使用php从localhost连接到另一台服务器的数据库[关闭]
无法通过php代码连接到mysql数据库,PHP致命错误:找不到类'MySQLi'
将phpmyadmin sql数据库连接到我的android应用程序[关闭]