使用PHP的mysqli_query函数执行数据库操作
mysqli_query是PHP中一个常用的数据库操作函数,它用于执行SQL语句并返回结果。使用mysqli_query函数可以方便地进行插入、更新、删除等数据库操作,本文将详细介绍mysqli_query的使用方法。
一、mysqli_query的基本用法
mysqli_query函数的基本用法如下:
$result = mysqli_query($link, $query);
其中,$link是一个MySQL连接,它是由mysqli_connect函数返回的。$query是要执行的SQL语句,$result是执行SQL语句后返回的结果。
二、执行SELECT查询
在实际应用中,我们最常使用mysqli_query函数来执行SELECT查询操作。例如,我们要从数据库中查询所有的用户信息,可以使用如下代码:
$link = mysqli_connect('localhost', 'root', 'password', 'database');
$query = 'SELECT * FROM users';
$result = mysqli_query($link, $query);
while ($row = mysqli_fetch_array($result)) {
echo $row['id'] . ' ' . $row['name'] . ' ' . $row['email'] . '<br>';
}
mysqli_close($link);
以上代码首先通过mysqli_connect函数建立与数据库的连接,然后执行SELECT查询语句,将结果保存在$result变量中。接着使用mysqli_fetch_array函数从结果中逐行获取数据,并进行打印输出。
三、执行INSERT插入操作
除了查询操作,mysqli_query还可以用来执行INSERT插入操作。例如,我们要向数据库的user表中插入一条新记录,可以使用如下代码:
$link = mysqli_connect('localhost', 'root', 'password', 'database');
$name = 'Tom';
$email = 'tom@example.com';
$query = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
$result = mysqli_query($link, $query);
mysqli_close($link);
以上代码首先向数据库建立连接,然后定义要插入的用户名和邮箱,并拼接成插入语句。接着使用mysqli_query函数执行插入操作,最后关闭与数据库的连接。
需要注意的是,为了避免SQL注入攻击,我们应该使用mysqli_real_escape_string函数对输入的数据进行处理,例如:
$name = mysqli_real_escape_string($link, $_POST['name']);
$email = mysqli_real_escape_string($link, $_POST['email']);
四、执行UPDATE更新操作
除了插入操作,mysqli_query还可以用来执行UPDATE更新操作。例如,我们要将数据库中所有邮箱为example.com的用户的姓名修改为Jerry,可以使用如下代码:
$link = mysqli_connect('localhost', 'root', 'password', 'database');
$query = "UPDATE users SET name='Jerry' WHERE email LIKE '%@example.com'";
$result = mysqli_query($link, $query);
mysqli_close($link);
以上代码使用mysqli_query函数执行UPDATE更新操作,并使用WHERE子句指定更新的条件。
五、执行DELETE删除操作
除了更新操作,mysqli_query还可以用来执行DELETE删除操作。例如,我们要删除数据库中所有邮箱为example.com的用户,可以使用如下代码:
$link = mysqli_connect('localhost', 'root', 'password', 'database');
$query = "DELETE FROM users WHERE email LIKE '%@example.com'";
$result = mysqli_query($link, $query);
mysqli_close($link);
以上代码使用mysqli_query函数执行DELETE删除操作,并使用WHERE子句指定删除的条件。
六、执行多条SQL语句
有时候,我们需要一次性执行多条SQL语句,可以使用mysqli_multi_query函数。例如,我们要先删除数据库中所有邮箱为example.com的用户,然后再将所有用户姓名修改为Jerry,可以使用如下代码:
$link = mysqli_connect('localhost', 'root', 'password', 'database');
$query = "DELETE FROM users WHERE email LIKE '%@example.com';UPDATE users SET name='Jerry'";
$result = mysqli_multi_query($link, $query);
mysqli_close($link);
以上代码使用mysqli_multi_query函数执行多条SQL语句,将两个语句用分号分隔。
七、总结
mysqli_query是PHP中一个十分常用的数据库操作函数,它可以方便地执行数据库的增、删、改、查操作。在使用mysqli_query函数时,需要注意避免SQL注入攻击,并使用mysqli_fetch_array函数将查询结果逐行获取。在执行多条SQL语句时,可以使用mysqli_multi_query函数。
