php不用框架怎么写数据库
-
在PHP中,可以使用原生的MySQLi或PDO扩展来与数据库交互,而不必依赖于框架。下面是一些基本的步骤来使用PHP写数据库:
1. 连接数据库:首先,你需要使用适当的参数来连接到你的数据库服务器。你可以使用MySQLi或PDO来进行连接。这些扩展都提供了连接数据库的函数和方法。例如,使用MySQLi扩展可以这样连接数据库:
“`php
$servername = “localhost”;
$username = “root”;
$password = “password”;
$database = “mydatabase”;$connection = new mysqli($servername, $username, $password, $database);
if ($connection->connect_error) {
die(“连接数据库失败:” . $connection->connect_error);
}
“`2. 执行SQL查询:一旦连接成功,你可以使用SQL语句来执行查询操作。例如,插入一条记录可以这样做:
“`php
$sql = “INSERT INTO users (name, email) VALUES (‘John Doe’, ‘johndoe@example.com’)”;if ($connection->query($sql) === TRUE) {
echo “插入记录成功”;
} else {
echo “插入记录失败:” . $connection->error;
}
“`3. 查询数据库:使用SELECT语句可以从数据库中检索数据。下面是一个例子:
“`php
$sql = “SELECT * FROM users”;
$result = $connection->query($sql);if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo “姓名:” . $row[“name”]. “,邮箱:” . $row[“email”]. “
“;
}
} else {
echo “没有找到记录”;
}
“`4. 更新和删除数据:使用UPDATE和DELETE语句可以更新和删除数据库中的数据。例如,更新一条记录可以这样做:
“`php
$sql = “UPDATE users SET name=’John Smith’ WHERE id=1”;if ($connection->query($sql) === TRUE) {
echo “更新记录成功”;
} else {
echo “更新记录失败:” . $connection->error;
}
“`5. 断开连接:当与数据库的交互完成后,记得断开与数据库的连接,释放资源。
“`php
$connection->close();
“`以上是PHP中使用原生的MySQLi或PDO扩展来写数据库的基本步骤。尽管可以直接在项目中这样操作,但在实际开发中,使用框架或类库可以提供更多的功能和便利。但如果你想学习和了解底层的数据库操作原理,这些基本步骤可以帮助你开始。
2年前 -
如果你决定不使用框架来编写数据库,这意味着你将使用原生的PHP代码来连接数据库并执行操作。以下是一些你可以遵循的步骤:
1. 连接数据库:使用PHP的内置函数`mysqli_connect()`或`PDO`创建一个数据库连接。你需要提供数据库的主机名、用户名、密码和数据库名称。
“`php
$hostname = “localhost”;
$username = “root”;
$password = “password”;
$dbname = “mydb”;$conn = mysqli_connect($hostname, $username, $password, $dbname);
if (!$conn) {
die(“Connection failed: ” . mysqli_connect_error());
}
“`2. 执行查询语句:使用SQL语句执行查询操作。你可以使用`mysqli_query()`函数或`PDO`中的相关方法。
“`php
$query = “SELECT * FROM users”;
$result = mysqli_query($conn, $query);
if ($result) {
while ($row = mysqli_fetch_assoc($result)) {
echo $row[‘username’];
}
} else {
echo “Error: ” . mysqli_error($conn);
}
“`3. 插入数据:使用`INSERT INTO`语句将数据插入到数据库中。
“`php
$query = “INSERT INTO users (username, password) VALUES (‘john’, ‘password’)”;
$result = mysqli_query($conn, $query);
if ($result) {
echo “Data inserted successfully”;
} else {
echo “Error: ” . mysqli_error($conn);
}
“`4. 更新数据:使用`UPDATE`语句更新数据库中的数据。
“`php
$query = “UPDATE users SET username=’john@example.com’ WHERE id=1”;
$result = mysqli_query($conn, $query);
if ($result) {
echo “Data updated successfully”;
} else {
echo “Error: ” . mysqli_error($conn);
}
“`5. 删除数据:使用`DELETE FROM`语句从数据库中删除数据。
“`php
$query = “DELETE FROM users WHERE id=1”;
$result = mysqli_query($conn, $query);
if ($result) {
echo “Data deleted successfully”;
} else {
echo “Error: ” . mysqli_error($conn);
}
“`以上是一个基本的示例,你可以根据你的具体需求进行更改和优化。这种方式的好处是你可以更好地理解和控制你的代码,但同时也需要更多的手动操作和处理错误的情况。因此,在选择不使用框架时,确保你对PHP和数据库操作有足够的了解和经验。
2年前 -
在PHP中,可以使用原生的PDO(PHP Data Objects)来操作数据库,而无需使用框架。下面是一些步骤和方法来编写数据库相关的代码。
1. 配置数据库连接:
首先,需要配置数据库连接信息,包括数据库主机名、用户名、密码和数据库名称。可以将这些信息存储在一个全局配置文件中,并在需要连接数据库的地方引入该文件。“`php
$config = require ‘config.php’;
$dsn = ‘mysql:host=’ . $config[‘host’] . ‘;dbname=’ . $config[‘dbname’];
$db = new PDO($dsn, $config[‘username’], $config[‘password’]);
“`2. 执行SQL语句:
使用PDO对象,可以执行各种SQL语句,如SELECT、INSERT、UPDATE和DELETE等。“`php
// SELECT查询
$query = $db->query(‘SELECT * FROM users’);
$users = $query->fetchAll(PDO::FETCH_ASSOC);// INSERT插入
$stmt = $db->prepare(‘INSERT INTO users (name, email) VALUES (?, ?)’);
$stmt->execute([‘John Doe’, ‘john@example.com’]);// UPDATE更新
$stmt = $db->prepare(‘UPDATE users SET name = ? WHERE id = ?’);
$stmt->execute([‘Jane Smith’, 1]);// DELETE删除
$stmt = $db->prepare(‘DELETE FROM users WHERE id = ?’);
$stmt->execute([1]);
“`3. 使用预处理语句:
预处理语句可以防止SQL注入攻击,并提高执行效率。可以使用PDO的prepare方法来创建预处理语句,并通过绑定参数来传递值。“`php
$stmt = $db->prepare(‘SELECT * FROM users WHERE id = :id’);
$id = 1;
$stmt->bindParam(‘:id’, $id, PDO::PARAM_INT);
$stmt->execute();$user = $stmt->fetch(PDO::FETCH_ASSOC);
“`4. 处理数据库事务:
事务可以确保数据库操作的原子性,即要么全部执行成功,要么全部回滚。可以使用PDO的beginTransaction、commit和rollback方法来开启、提交和回滚事务。“`php
try {
$db->beginTransaction();$stmt = $db->prepare(‘UPDATE users SET balance = balance – 100 WHERE id = 1’);
$stmt->execute();$stmt = $db->prepare(‘UPDATE users SET balance = balance + 100 WHERE id = 2’);
$stmt->execute();$db->commit();
} catch (PDOException $e) {
$db->rollback();
echo ‘Transaction failed: ‘ . $e->getMessage();
}
“`5. 使用数据库结果集:
PDO提供了多种方法来处理返回的数据库结果集,如fetch、fetchAll和rowCount等。“`php
$stmt = $db->prepare(‘SELECT * FROM users’);
$stmt->execute();while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row[‘name’] . ‘, ‘ . $row[’email’] . ‘
‘;
}$stmt->execute();
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);echo count($users) . ‘ users found’;
“`这些是使用PHP原生PDO操作数据库的基本步骤和方法。虽然没有使用框架,但通过这些方法,可以实现完整的数据库操作。当然,使用框架可能会更加方便,因为它们提供了更多的抽象和封装,简化了开发过程。
2年前