怎么在PHP中使用MariaDB实现数据库操作
创始人
2024-12-07 17:41:01
0次
' . 'Connect DB error';
    exit;
  }
?>

其实这问题比较简单,从PHP引擎返回的错误就知道mysqli没有被正确的加载,绝大多数的问题都发生在php.ini文件的配置中,“extension=php_mysqli.dll”这个配置项前面默认的分号没有去掉。这个错误我倒没有犯,php安装路径中的ext目录中,也有php_mysqli.dll这个文件,那问题发生在哪里呢?问题应该还是发生在php.ini文件中哪个地方写错了。走读后发现“extension_dir = "ext"”个地方没有修改。我当时脑子没多想,觉得PHP引擎是能够自动找到这个相对路径的。但后来想想,PHP引擎是被Apache加载的,Apache可不知道这个相对关系。还是老老实实的把这个地方改成了绝对路径,OK了。其实可以在这个代码之前,先写这么一段代码,看看mysqli组件是否已经被加载了,这个方法适用于其他组件的加载前的判断。

if (extension_loaded('mysqli'))
{
  echo 'yes';
}
else
{
  echo 'no';
}

下面用一个用户注册和系统登录记录PHP+MySQL的最基本操作方法。

1、创建数据库、表和用户。

DROP DATABASE IF EXISTS `test`;
CREATE DATABASE `test`
USE `test`;
DROP TABLE IF EXISTS `tbl_user`;
CREATE TABLE `tbl_user` (
 `username` varchar(32) NOT NULL default '',
 `password` varchar(32) NOT NULL default '',
 PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

2、创建注册和登录的html页面,分别是register.html和login.html。如下图所示:

怎么在PHP中使用MariaDB实现数据库操作 怎么在PHP中使用MariaDB实现数据库操作

3、注册和登录的代码:

register_do.php

' . 'Connect DB error';
    exit;
  }
  $query = "select * from tbl_user where username = '" . $username . "'";
  echo '

' . $query;   $result = $db->query($query);   if ($result)   {     echo '

' . 'The user '. $username .' exist';     echo '

' . 'Back to register';   }   else   {     $query = "insert into tbl_user values ('". $username ."', '". $password ."')";     echo '

' . $query;     $result = $db->query($query);     if ($result)     {       echo '

' . 'Register successful';     }   } ?>

login_do.php

' . 'Connect DB error';
    exit;
  }
  $query = "select * from tbl_user where username = '" . $username . "' and password = '" . $password . "'";
  echo '

' . $query;   $result = $db->query($query);   if ($result->num_rows)   {     echo '

' . 'Login successful';   }   else   {     echo '

' . 'Login failed';   } ?>

userlist.php

' . 'Connect DB error';
    exit;
  }
  echo '

' . 'All user as follows:';   $query = "select * from tbl_user order by username";   if ($result = $db->query($query))   {     while ($row = $result->fetch_assoc())     {       echo '

' . 'Username : ' . $row['username'] . '  delete';     }   } ?>

4、该页面最终的显示效果如下图所示:

怎么在PHP中使用MariaDB实现数据库操作

5、删除用户的代码:

userdelete.php

' . 'Connect DB error';
    exit;
  }
  $query = "delete from tbl_user where username = '" . $username . "'";
  echo $query;
  if ($result = $db->query($query))
  {
    echo '

' . 'Delete user ' . $username . ' successful';   }   else   {     echo '

' . 'Delete user ' . $username . ' failed';   }   echo '

' . 'Back to user list'; ?>

Prepare预处理

1、图书添加的页面如下图所示(bookadd.html):

怎么在PHP中使用MariaDB实现数据库操作

2、建表脚本如下:

DROP DATABASE IF EXISTS `test`;
CREATE DATABASE IF NOT EXISTS `test`;
USE `test`;
DROP TABLE IF EXISTS `tbl_book`;
CREATE TABLE IF NOT EXISTS `tbl_book` (
 `isbn` varchar(32) NOT NULL,
 `title` varchar(32) NOT NULL,
 `author` varchar(32) NOT NULL,
 `price` float NOT NULL,
 PRIMARY KEY (`isbn`)
) ENGINE=InnoDB DEFAULT CHARSET=utf-8;

3、添加的逻辑处理代码如下(bookadd_do.php):这里特别要注意的是这句话“$db->query("set names utf-8")”,代表向数据库写入数据时,采用utf-8编解码,显示的对数据库表操作的编解码进行设置,以防止中文的乱码。后面我会专门针对这个技术点记录一篇文章。

' . 'Connect DB error';
    exit;
  }
  $db->query("set names utf-8"); //特别注意这句话
  $stmt = $db->stmt_init();
  $stmt->prepare("insert into tbl_book values (?,?,?,?)");
  $stmt->bind_param("sssd", $isbn, $title, $author, $price);
  $stmt->execute();
  echo '

' . 'Affect rows is ' . $stmt->affected_rows;   echo '

' . 'Go to book list page'; ?>

4、显示图书信息的逻辑代码如下,同样注意这句话“$db->query("set names utf-8")”:

' . 'Connect DB error';
    exit;
  }
  $db->query("set names utf-8"); //特别注意这句话
  $stmt = $db->stmt_init();
  $stmt->prepare("select * from tbl_book");
  $stmt->bind_result($isbn, $title, $author, $price);
  $stmt->execute();
  while($stmt->fetch())
  {
    echo 'ISBN : ' . $isbn . '

';     echo 'Title : ' . $title . '

';     echo 'Author : ' . $author . '

';     echo 'Price : ' . $price . '

';     echo '

' . '-----------------------------' . '

';   } ?>

5、显示的页面如下图所示:

怎么在PHP中使用MariaDB实现数据库操作

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...