欢迎访问宙启技术站
智能推送

PHP数据库函数的使用技巧

发布时间:2023-06-15 11:19:58

PHP是一门广泛应用于web开发、服务器端编程的语言,在我们的日常工作中,经常要和数据库打交道。在PHP中,我们可以通过各种数据库扩展(如mysql、mysqli)来访问数据库,执行增、删、改、查等操作。本文就来介绍一些PHP数据库函数的使用技巧,以便于大家在实际开发中更加高效、准确的操作数据库。

一、数据库连接

连接是使用数据库的第一步,常用的连接方式有原始方式和面向对象方式,下面我们分别给大家介绍:

1.原始方式连接数据库

使用原始方式连接数据库,可能会面临缺少异常处理、易出错等问题,但这种方式简单易用,是初学者和小公司经常使用的方式。

//建立数据库连接

$con = mysql_connect("localhost","root","123456");

if (!$con)

{

    die('Could not connect: ' . mysql_error());

}

echo "Connected successfully";

mysql_close($con);  //关闭数据库连接

2. 面向对象方式连接数据库

使用面向对象方式连接数据库,拥有更加灵活的应对手段,在面向对象的编程模式下,使用try..catch语句更为常见。

//建立数据库连接

$mysqli = new mysqli('localhost', 'username', 'password', 'databaseName');

if ($mysqli->connect_errno) {

    echo "Connect failed" . $mysqli->connect_error;

    exit();

}

echo "Connect success";

$mysqli->close();   //关闭数据库连接

注:以上两种方式都有对应的关闭连接方法,如mysql_close、$mysqli->close(),为了更好的防止资源浪费,建议不使用全局变量,使用局部变量来保存连接对象

二、增添、删除、修改、查询

1.增添数据

PHP中我们可以通过mysql_query函数完成向数据库中添加数据的操作,示例:

//在users表中添加一个用户(用户名为test,密码为123),创建时间为当前时间

$time = date('Y-m-d H:i:s', time());

$sql = "INSERT INTO users(username,password,created_at)VALUES('test','123','$time')";

mysql_query($sql);

对于面向对象方式,mysqli_query会异步执行,它的返回值是一个类mysqli_result的实例对象,具体代码如下:

$sql = "INSERT INTO users(username,password,created_at)VALUES('test','123', NOW())";

if ($mysqli->query($sql) === TRUE) {

    echo "New record created successfully";

} else {

    echo "Error: " . $sql . "<br>" . $mysqli->error;

}

2.删除数据

删除数据也是非常常见的操作之一,下面我们分别介绍其使用的函数。

//从users表中删除名为test的用户信息

$sql = "DELETE FROM users WHERE username='test'";

mysql_query($sql);

对于面向对象方式,删除数据是通过mysqli_prepare、bind_param、execute、affected_rows等函数来实现的,具体代码如下:

//从users表中删除名为test的用户信息

$stmt = $mysqli->prepare("DELETE FROM users WHERE username=?");

$stmt->bind_param("s", $name);

$name = "test";

$stmt->execute();

echo "Deleted ".$stmt->affected_rows." rows";

3.修改数据

修改数据也是非常重要的数据库操作之一,下面我们分别介绍其使用的函数。

//修改users表中名为test的用户密码为新密码234567

$sql = "UPDATE users SET password='234567' WHERE username='test'";

mysql_query($sql);

对于面向对象方式,修改数据是通过mysqli_prepare、bind_param、execute、affected_rows等函数来实现的,具体代码如下:

//修改users表中名为test的用户密码为新密码234567

$stmt = $mysqli->prepare("UPDATE users SET password=? WHERE username=?");

$stmt->bind_param("ss",  $password, $name);

$name = "test";

$password="234567";

$stmt->execute();

echo "Updated ".$stmt->affected_rows." rows";

4.查询数据

查询数据也是非常重要的数据库操作之一,下面我们分别介绍其使用的函数。

//查询users表中所有用户的用户名和密码

$sql = "SELECT username, password FROM users";

$result = mysql_query($sql);

while($row = mysql_fetch_array($result))

{

    echo $row['username'] . " " . $row['password'];

    echo "<br />";

}

对于面向对象方式,查询数据是通过mysqli_query、fetch_assoc等函数来实现的,具体代码如下:

//查询users表中所有用户的用户名和密码

$sql = "SELECT username, password FROM users";

$result = $mysqli->query($sql);

while($row = $result->fetch_assoc()) {

    printf ("%s (%s)

", $row["username"], $row["password"]);

}

$result->free();

三、常见的错误

1.连接失败

连接失败通常是由于数据库名、用户名、密码填写错误或者没有赋予mysql用户相应的权限,解决方式是查看报错信息,进行相应的调整和更正。

2.语法错误

语法错误通常是由于SQL语句书写格式不规范或者意义不明确,容易导致SQL注入等问题,解决方式是查看报错信息,进行相应的调整和更正。

3.PHP版本问题

PHP版本不兼容通常是由于使用PHP7等新版本语法导致,解决方式是进行相应的语法转换或者PHP版本安装切换。

四、总结

本文介绍了PHP数据库函数连接、增添、删除、修改和查询,以及常见错误的解决方式,希望对大家在PHP数据库操作上有所帮助。在实际开发中,应尽量使用mysqli函数,建议使用面向对象方式编程,具有代码清晰易懂、防注入、安全性高等特点。同时,也应注意处理异常,防止资源浪费。