下面我将给您讲解详细的“PHP和数据库结合的一个简单的Web实例代码分析”的攻略。
1. 准备工作
在开始制作Web实例之前,我们需要准备以下内容:
- 一台安装有Web服务器和PHP环境的计算机。
- 一个关系型数据库,如MySQL。
- 一个数据库管理软件,如phpMyAdmin。
2. 建立数据库和表
在phpMyAdmin中创建一个名为“webdb”的数据库,接着在该数据库中创建一个名为“users”的表,表中包含以下字段:id、username、password。
其中,id为自增整数类型,作为主键;username为字符串类型,用于存放用户名;password为字符串类型,用于存放密码。
3. 编写PHP代码
在网站的根目录下创建一个名为“index.php”的文件,编写以下代码:
<html>
<head>
<title>用户登录</title>
</head>
<body>
<h1>用户登录</h1>
<form action="login.php" method="post">
<label>用户名:<input type="text" name="username"></label><br>
<label>密 码:<input type="password" name="password"></label><br>
<input type="submit" value="登录">
</form>
</body>
</html>
以上代码创建了一个简单的用户登录表单。
接着,在网站的根目录下创建一个名为“login.php”的文件,编写以下代码:
<?php
$username = $_POST["username"];
$password = $_POST["password"];
$dbhost = 'localhost';
$dbuser = 'username';
$dbpass = 'password';
$dbname = 'webdb';
$db = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$sql = "SELECT * FROM users WHERE username='" . $username . "' AND password='" . $password . "'";
$result = mysqli_query($db, $sql);
if(mysqli_num_rows($result) == 1) {
echo "登录成功!";
} else {
echo "登录失败!";
}
mysqli_close($db);
?>
以上代码实现了用户登录功能。其中,$dbhost、$dbuser、$dbpass和$dbname分别为连接数据库所需的主机名、用户名、密码和数据库名。$sql变量存储了从表中查询用户是否存在的SQL语句,$result存储了查询结果。
最后,根据查询结果输出相应的登录成功或失败信息。
4. 运行代码
在Web服务器的根目录下创建一个名为“webapp”的文件夹,将以上php代码存入其中。
接着,在Web浏览器中输入以下网址:
http://localhost/webapp/index.php
即可看到用户登录表单。输入之前在phpMyAdmin中创建的用户名和密码,并点击“登录”按钮,即可看到相应的登录成功或失败信息。
示例说明
示例1:将查询结果的所有字段都输出
修改“login.php”文件,将“if(mysqli_num_rows($result) == 1) {”下面的代码修改为以下内容:
while($row = mysqli_fetch_assoc($result)) {
foreach($row as $value) {
echo $value . " ";
}
echo "<br>";
}
以上代码将查询结果的所有字段都输出。
示例2:使用PDO来连接数据库
修改“login.php”文件,将连接数据库的代码修改为以下内容:
$dsn = "mysql:host=localhost;dbname=webdb";
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
$username = "username";
$password = "password";
try {
$db = new PDO($dsn, $username, $password, $options);
} catch(PDOException $e) {
echo $e->getMessage();
}
以上代码使用PDO来连接数据库。$dsn变量存储了连接数据库所需的主机名、数据库名等信息,$options变量存储了初始化命令。使用try-catch语句来捕获可能出现的异常。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php和数据库结合的一个简单的web实例 代码分析 (php初学者) - Python技术站