【发布时间】:2023-03-19 17:07:01
【问题描述】:
我正在尝试为我的网站创建一个登录名,我需要将电子邮件、用户名、密码等存储在我已经使用 phpMyAdmin 创建的数据库中。我已经阅读了一篇又一篇文章,但似乎没有任何效果。我有这样的connect.php:
<?
$hostname = "localhost";
$username = "username";
$password = "password";
$databaseName = "_mySiteUserDataBase";
mysql_connect($hostname, $username, $password) or die("Cannot connect to server");
mysql_select_db($databaseName) or die("Cannot select database");
?>
而我的 main.php 是这样的:
<?
include("connect.php");
$tableName = "myUsers";
$sql = "SELECT * FROM $tableName";
$result = mysql_query($sql);
?>
我在我的 html 中创建了一个简单的表单,如下所示:
<html>
<head></head>
<body>
<form>
<input type = "submit" action = "main.php" method = "post" value = "Login">
</form>
</body>
</html>
提交表单后,它说无法连接到服务器。我是 php 和 mysql 的新手,我不明白 mysql_connect 中的每个参数是什么,我不知道他们做了什么,因此我不确定我应该输入什么,但我一直在阅读的每个人似乎都在输入随机值?我可以对此使用一个简短的解释,因为我被困在连接上,甚至无法通过这一点很可悲。此外,我一直在阅读 mysql_connect 已被弃用并且不再有效,但我不明白我应该使用什么作为替代方案。我知道它的 mysqli,但就是这样,我不清楚语法。
【问题讨论】:
-
你连接服务器的用户名和密码是
username和password吗?并使用prepared statement 而不是deprecatedmysql_*。 -
正如@LoganWayne 所说,因为无论如何你都是新手,所以从 mysqli 或 pdo 开始。他们很酷。
-
不,我不确定它是什么。我不知道在哪里可以找到这些信息,好的,我会尝试 mysqli
-
代码 sn-p 看起来不错。凭据是否可能完全错误?如果没有,请尝试将
localhost替换为127.0.0.1,看看是否可行。关于 mysqli:最懒惰的方法是将所有mysql_*实例替换为对应的mysqli_*实例,但我认为面向对象的风格会是更好的做法。这是一个代码示例:php.net/manual/en/… -
您可以在您的 PhpMyAdmin 页面中查找用户名。但通常,遵循简单指令的初学者会将用户名设置为
root,并且没有密码。也许你可以试试。
标签: php html mysql database forms