选择MySQL数据库的命令:
在MySQL终端或者其他MySQL命令行工具中,可以使用USE
命令选择想要使用的数据库。这个命令需要跟随想要使用的数据库名称。
USE <database_name>;
例如,如果我想使用一个名为mydatabase
的数据库,那么这个命令看上去应该像这样:
USE mydatabase;
这个命令执行后,终端显示将切换到所选数据库,之后可以开始使用SQL语句来操作该数据库中的数据。
PHP脚本下的MySQL操作方法:
在PHP中,可以使用MySQLi或PDO等扩展库连接MySQL数据库,这些扩展库为我们提供了可调用的MySQL操作API。
在脚本中,可以通过MySQLi扩展库中的mysqli_connect()
函数来连接数据库,该函数接受四个参数,分别为主机名、用户名、密码以及数据库名称。可按照注释中的示例,使用以下代码初始化数据库:
// 数据库信息
$host = 'localhost';
$user = 'root';
$pass = 'password';
$db_name = 'mydatabase';
// 初始化数据库连接
$mysqli = mysqli_connect($host, $user, $pass, $db_name);
if (!$mysqli) {
die('无法连接数据库: ' . mysqli_connect_error());
}
之后,在连接成功后,可以使用MySQLi扩展库中的query()
函数执行可执行的SQL语句。
例如,我们可以通过在PHP中执行以下语句,在users
表中查询所有用户信息:
// 查询用户信息
$result = $mysqli->query("SELECT * FROM users");
// 输出所有用户信息
while($row = $result->fetch_assoc()) {
echo "姓名:" . $row["name"] . ", 年龄:" . $row["age"] . "<br>";
}
以上代码会将表users
中的每条数据的name
和age
列输出到页面上。
示例:
下面我们来看一个具体的示例场景,在PHP中如何连接数据库,并对用户提交的表单数据进行插入操作。
首先,我们需要创建一个包含表单的页面,以便用户可以提交数据。页面代码如下:
<!DOCTYPE html>
<html>
<head>
<title>用户信息</title>
</head>
<body>
<form method="post" action="submit.php">
<input type="text" name="name" placeholder="姓名"/>
<input type="text" name="age" placeholder="年龄"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
然后,我们需要编写一个PHP脚本来处理表单提交请求。这个脚本应该连接到MySQL数据库,并将用户提交的信息插入到一个名为users
的表中。
在这个示例中,我们使用MySQLi扩展库来连接到MySQL数据库,并使用mysqli_query
函数来执行一个INSERT语句,将用户的姓名和年龄插入到表中。
提交脚本代码如下:
<?php
// 数据库信息
$host = 'localhost';
$user = 'root';
$pass = 'password';
$db_name = 'mydatabase';
// 初始化数据库连接
$mysqli = mysqli_connect($host, $user, $pass, $db_name);
if (!$mysqli) {
die('无法连接数据库: ' . mysqli_connect_error());
}
// 处理表单提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// 接收提交的数据
$name = $_POST['name'];
$age = $_POST['age'];
// 插入数据
$result = mysqli_query($mysqli, "INSERT INTO users (name, age) VALUES ('$name', '$age')");
if ($result) {
echo "用户信息插入成功!";
}
else {
echo "插入失败: " . mysqli_error($mysqli);
}
}
?>
这个脚本在用户提交表单时会被调用,通过连接到MySQL数据库,将用户提交的姓名和年龄数据插入到名为users
的表中。在插入成功或失败时,都会向页面输出一条信息。
更好的怎么说呢?这里有一个PDO扩展库的示例,通过class来调用一个MySQL数据库类,这个类我们在另一个PHP文件中进行编写:
// Database.php
class Database {
private $host;
private $user;
private $pass;
private $dbname;
private $dbh;
private $error;
private $stmt;
public function __construct($host, $user, $pass, $dbname) {
$this->host = $host;
$this->user = $user;
$this->pass = $pass;
$this->dbname = $dbname;
$dsn = "mysql:host=$this->host;dbname=$this->dbname";
$options = array(
PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
);
try {
$this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
}
catch (PDOException $e) {
$this->error = $e->getMessage();
}
}
public function query($query) {
$this->stmt = $this->dbh->prepare($query);
}
public function bind($param, $value, $type = null) {
if (is_null($type)) {
switch (true) {
case is_int($value):
$type = PDO::PARAM_INT;
break;
case is_bool($value):
$type = PDO::PARAM_BOOL;
break;
case is_null($value):
$type = PDO::PARAM_NULL;
break;
default:
$type = PDO::PARAM_STR;
}
}
$this->stmt->bindValue($param, $value, $type);
}
public function execute() {
return $this->stmt->execute();
}
public function resultset() {
$this->execute();
return $this->stmt->fetchAll(PDO::FETCH_ASSOC);
}
}
// 连接数据库
$db = new Database('localhost', 'root', 'password', 'mydatabase');
// 查询用户信息
$results = $db->query('SELECT * FROM users WHERE age > :age');
$db->bind(':age', 18);
$rows = $db->resultset();
// 输出用户信息
foreach ($rows as $row) {
echo "姓名:" . $row['name'] . ",年龄:" . $row['age'] . "<br>";
}
// 插入新用户
$db->query('INSERT INTO users (name, age) VALUES (:name, :age)');
$db->bind(':name', '张三');
$db->bind(':age', 21);
$db->execute();
echo "新用户插入成功!";
以上代码为使用PDO扩展库,在另一个PHP文件中编写了一个名为Database
的类,该类的实例对象可以通过指定主机名、用户名、密码和数据库名称进行初始化。之后可以使用该类的方法来执行查询和插入操作。其中,query()
方法用于指定要执行的SQL语句,bind()
方法用于绑定参数,execute()
方法用于执行SQL语句,resultset()
方法用于返回查询结果。
在上面的示例中,首先使用query()
方法和bind()
方法设置查询条件,然后使用resultset()
方法查询出所有符合条件的用户信息,并依次输出到页面上。接下来,再使用query()
方法和bind()
方法设置要插入的数据,然后调用execute()
方法将数据插入到名为users
的表中。最后,向页面输出一条信息用于提示插入成功。
以上是使用PDO扩展库的方法,相对于MySQLi扩展库来说,这种方式更加灵活和方便,可用于开发一些较为复杂且需要用到ORM的应用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:选择MySQL数据库的命令以及PHP脚本下的操作方法 - Python技术站