一,引言
今天我们就正式学习PHP与MySQL的连接了,
在开始前我们得先写一个MySQL的连接语句,
具体如下:
将代码复制到database.php文件:
$conn = mysqli_connect(“127.0.0.1″,”root”,”777777″) or die(“数据库链接失败!”);mysqli_connect 是 PHP 里用于连接 MySQL 数据库服务器的内置函数,其语法如下:host:数据库服务器的主机名或者 IP 地址。
username:用于连接数据库的用户名。
password:与该用户名对应的密码。
database(可选):要连接的数据库名称。
port(可选):数据库服务器监听的端口号。
socket(可选):用于连接的 UNIX 套接字。or 是 PHP 里的逻辑运算符,其作用是当 mysqli_connect 函数执行失败时,就会执行 die 函数。die 函数的作用是输出一条错误信息,并且终止当前脚本的执行。在这个例子中,若数据库连接失败,就会输出 “数据库链接失败!” 这个错误信息。
$select = mysqli_select_db($conn,”login”);mysqli_select_db 是 PHP 中用于在已经建立的 MySQL 数据库连接上选择具体数据库的函数。其基本语法如下:$link:这是一个必需的参数,代表通过 mysqli_connect 或 mysqli_init 函数创建的有效的 MySQL 数据库连接对象。(也就是变量$conn)
$dbname:同样是必需参数,代表要选择的数据库名称。(也就是我们在数据库里创建的数据库名称“login”)
函数返回值:如果数据库选择成功,返回 true;若失败,则返回 false。
mysqli_query($conn,”set name ‘utf8′”);
这行代码的主要功能是设置当前 MySQL 数据库连接的字符集为 utf8。
字符集的设置对于正确处理和显示各种语言的文本数据至关重要,
确保数据在存储和读取过程中不会出现乱码问题。
mysqli_query 是 PHP 中用于向 MySQL 数据库发送 SQL 查询语句的核心函数。其基本语法如下:
$link:这是一个必需参数,代表通过 mysqli_connect 或 mysqli_init 函数创建的有效的 MySQL 数据库连接对象。
$query:同样是必需参数,代表要执行的 SQL 查询语句。
$resultmode:可选参数,用于指定结果集的获取模式,默认值为 MYSQLI_STORE_RESULT。
函数返回值:对于 SELECT、SHOW、DESCRIBE 等查询语句,执行成功时返回一个 mysqli_result 对象;对于 INSERT、UPDATE、DELETE 等操作语句,执行成功返回 true,失败返回 false。
二,include函数
复制完代码后 CTRL + S 保存,我们回到 《PHP前端链接mysql数据库教程(一)》的 3.1 步骤,
打开 login.php 文件,复制以下代码至图中位置;
include(“database.php”);在 PHP 里,include 语句的作用是引入外部文件的内容,这样可以把代码模块化,让代码结构更清晰,方便维护和复用。当 PHP 解析器碰到 include 语句时,会暂停当前文件的执行,转而读取指定文件的内容并将其插入到 include 语句所在的位置,之后再继续执行当前文件。
三,连接MySQL
复制完以上代码后,我们继续复制以下代码至图中位置;
else {$usersql = “select username from user where username = ‘$user'”;
$sqllj = mysqli_query($conn, $usersql);
$userarr = mysqli_fetch_row($sqllj);
if (!empty($userarr)) {
echo “<script>alert(‘用户已存在’);window.history.back(-1)</script>”;
} else {
$sqlcr = “insert into user(username,password,phone)” . “values(‘$user’,’$pwd’,’$phone’)”;
mysqli_query($conn, $sqlcr);
echo “<script>alert(‘注册成功’);window.location.href=’dl.php'</script>”;
}
}
以上代码解释:
$usersql = “select username from user where username = ‘$user’”;$sqllj = mysqli_query($conn, $usersql);$userarr = mysqli_fetch_row($sqllj);这行代码是mysql的内容,$usersql 意思是查找名为username的字段,来自user表,并判断username等于前端接收的$user变量数据;$sqllj 意思是连接数据库并执行;$userarr 意思是将数据库里的所有字段转化为数组形式;
$sqlcr = “insert into user(username,password,phone)” . “values(‘$user’,’$pwd’,’$phone’)”;mysqli_query($conn, $sqlcr);echo “<script>alert(‘注册成功’);window.location.href=’dl.php'</script>”;这行代码是mysql的语法内容,意思是所有逻辑都通过后,插入对应的数据至mysql 字段, 并弹出注册成功,跳转至“dl.php”的页面;
echo “<script>alert(‘用户已存在’);window.history.back(-1)</script>”;
输出js弹出代码,并返回上一级,等于不跳转,还是回到登录页;
代码复制完后,我们打开 navicat 查看我们原有的数据;可以看到,在测试前我反复注册测试了很多遍,哈哈。我们记住最后一位 id 是12,记住它的数据。
现在,我们打开浏览器输入 127.0.0.1 访问我们的前端注册网址页面,注册一个测试账号,数据如图:点击注册,它会弹出注册成功弹出,然后跳转至登录页面;
现在我们回到我们的 navicat 数据库管理工具,右键刷新;可以看到,我们刚才注册的数据已成功存入数据库!
这时我们可以前往登录页面登录;登录之后,弹出框会弹出,登陆成功,随后就会跳转至我们的个人中心页面啦!