我有一个表单,从中将值提交到数据库。但是我无法连接它,也不知道为什么。
在提交时,localhost没有回复。
这是我的HTML布局:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Student Entry</h1>
<form action="new.php" method="post">
<table>
<tr>
<td>Id</td>
<td><input type="text" name="id"></td>
</tr>
<tr>
<td>Name</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td><input type="submit"></td>
<td><input type="reset"></td>
</tr>
</table>
</form>
</body>
</html>
这是PHP代码:
<?php
$id = $_POST["id"];
$name = $_POST["name"];
echo $id,$name;
$con = mysqli_connect("localhost:81","root","");
if(!$con) {
echo "could not connect".mysqli_connect_error();
}
echo 'connection success';
mysqli_select_db($con,"student");
mysqli_query($con,"INSERT INTO info (id,name) VALUES ($id,$name)");
mysqli_close($con);
?>
答案 0 :(得分:1)
你很可能没有连接到MySQL服务器,而只是没有连接。
$con = mysqli_connect("localhost:81","root","");
请see the manual了解此功能的可通过参数。第一个参数必须是主机名,只能是主机名。在您的情况下,这将是localhost
。如果您需要指定端口,则应将其作为第五个参数传递。
请记住,MySQL和IIS完全相互独立。 IIS的默认端口是80.MySQL的默认端口是3306.这些端口完全独立,软件将始终占用相同的端口,与其他已安装的应用程序无关。
您可能想尝试:
$con = mysqli_connect("localhost","root","");
如果要指定端口,则必须使用:
$con = mysqli_connect("localhost","root","", "", 3306);
连接到默认的MySQL安装。
如果你的MySQL服务器真的在另一个端口上侦听,例如因为你相应地改变了配置,你可以改变最后一个参数。