PHP文件运行步骤以及数据库的连接代码
1. PHP文件运行步骤
当客户端请求一个PHP文件时,服务器会执行以下步骤:
1.1. 解析PHP文件
服务器会先解析PHP文件,将代码转换为可执行的指令。PHP文件以这样的标记结束。
1.2. 执行PHP文件
当PHP文件被解析完成后,服务器会执行其中的代码,并将执行结果发送给客户端。在执行PHP文件之前,服务器会将代码中的变量、函数等与服务器环境中的变量、函数等进行区分,以便正确的执行代码。
1.3. 输出结果
当PHP文件执行完成后,服务器将执行结果发送给客户端。执行结果可以是HTML代码、XML数据、图片等。
2. 数据库的连接代码
在PHP文件中,可以使用以下代码连接数据库:
$username = "用户名";
$password = "密码";
$hostname = "主机名";
$database = "数据库名";
// 创建连接对象
$conn = new mysqli($hostname, $username, $password, $database);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
上述代码使用mysqli连接对象连接数据库,需要传入四个参数,分别为:
用户名
密码
主机名
数据库名
连接成功后,可以通过$conn这个对象来执行SQL语句,查询数据库中的数据。
下面是一个简单的查询数据库的例子:
$sql = "SELECT * FROM 表名";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "";
}
} else {
echo "0 结果";
}
$conn->close();
上面的代码先执行了一个SELECT查询语句,然后遍历查询结果,将结果输出到客户端。
2.1. SQL防止注入技术
在使用SQL语句查询数据库时,可能会被黑客利用SQL注入的方法获得数据。因此,在编写代码时需要注意防止SQL注入。以下是一些常用的防注入技术:
使用mysqli_real_escape_string()函数处理输入的数据
使用PDO进行数据库操作,利用prepare和bindValue方法绑定参数,可以有效的防止SQL注入。
下面是一个使用prepare和bindValue方法的例子:
$sql = "SELECT * FROM 表名 WHERE name = :name";
$stmt = $conn->prepare($sql);
$stmt->bindValue(':name', $name);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
var_dump($result);
$conn->close();
上面的代码使用PDO进行数据库操作,先使用prepare方法创建一个查询语句,然后使用bindValue方法绑定name参数,执行查询后获得结果。