在PHP开发中,我们经常需要从数据库中取出数据,而mysqli是PHP中比较常用的进行数据库操作的扩展。接下来,本文将介绍如何使用mysqli取值,并通过举例来进一步说明。
首先,我们需要先连接数据库,并选择表格。代码如下:
$conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT * FROM mytable"; $result = $conn->query($sql);上述代码中,$servername、$username、$password、$dbname 分别表示数据库的地址、用户名、密码和数据库名。该代码通过new mysqli()函数实例化了mysqli对象,然后使用$conn->connect_error检测连接是否成功。接着,使用$sql语句查询数据表中的所有数据,并将结果存储在$result变量中。 接下来,我们需要通过mysqli_fetch_array()或mysqli_fetch_assoc()方法将结果进行逐条取出。两者的区别在于返回的结果不同。mysqli_fetch_array()返回的结果既包含数组索引(数字)也包括关联索引(字符串),而mysqli_fetch_assic()的结果只包括关联索引(字符串)。 例如,我们可以通过以下代码逐条获取所有数据的关联索引:
while($row = $result->fetch_assoc()) { echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Age: " . $row["age"] . "上述代码中,我们使用while循环逐条读取$result中的数据,并通过$row["id"]、$row["name"]、$row["age"]等语句获取相应数据的关联索引,并展示出来。 如果需要获取返回结果的下标(数字),可以使用mysqli_fetch_array()方法,代码如下:
"; }
while($row = mysqli_fetch_array($result)) { echo "id: " . $row[0] . " - Name: " . $row[1] . " - Age: " . $row[2] . "上述代码中,我们使用while循环逐条读取$result中的数据,并通过$row[0]、$row[1]、$row[2]等语句获取相应数据的下标,并展示出来。 在获取数据时,我们有时需要对数据进行过滤,避免SQL注入等安全问题。mysqli提供了mysqli_real_escape_string()方法,可以对特殊字符进行转义。例如,
"; }
$name = mysqli_real_escape_string($conn, $_POST['name']);上述代码中,我们通过mysqli_real_escape_string()方法对用户输入的$name进行转义,防止其中包含SQL注入。 需要注意的是,mysqli对象在使用完毕后应当使用$conn->close()方法关闭,避免占据数据库连接资源。同时,为了提高代码的可读性和可维护性,我们应当使用对象的方式进行mysqli操作,而不是使用函数。 到这里,我们已经了解到了如何通过mysqli实现数据的获取和过滤,并通过举例进行了说明,相信大家对mysqli的使用已经有了更深入的了解。