笔记:PHP7使用mysqli(一)

任何编程语言连接数据库都需要一定的协议,协议的主要内容包括数据库类型、数据库服务器地址(端口)、用户名及密码等,比如.NET的ODBC和OLEDB,Java的JDBC等。操作数据库前,需要成功按照该协议通过数据库服务器验证的连接。PHP7+MySQL+Mysqli也不例外。

连接失败则退出,成功则继续。接下来编辑SQL语句开始操作数据库,操作方式有两种常见方法:一)使用$link->query(),二)使用statement预处理。

query($testsql)) {
    echo "Execution succeed
" . PHP_EOL; }else{ echo "Execution failed
" . PHP_EOL; } ?>
prepare($testinsert);
if (! $stmt) {
    echo "prepare failed
" . PHP_EOL; } else { // 绑定SQL语句中的输入参数 $bind = $stmt->bind_param("d", $testcreated); if (! $bind) { echo "bind failed"; } } ?>

一般情况下,基于安全的考量,建议采用方法二通过statement预处理相对比较好。为了防止SQL注入,执行SQL语句查询前,对该语句作相关较严格的检查验证,例如SQL语句长度限制、字段类型限制等。然后执行SQL语句查并检查结果:

execute();
if ($result) {
    echo "Query succeed
" . PHP_EOL; }else{ echo "Query failed
" . PHP_EOL; } ?>

查询成功返回数据否则报错:

bind_result($id, $name, $password, $level, $fullname, $email, $created, $comment);
if (! $result) {
    echo "no result: insert result probably failed before
" . PHP_EOL; } else { echo ""; while ($stmt->fetch()) { // 遍历查询结果 echo ""; } echo "
IDNamePasswordLevelFullnameCreated
" . $id . "" . $name . "$password" . $level . "" . $fullname . "" . $created . "
"; } ?>

最后重要的一点是:SQL查询执行完毕后,需要关闭操作数据库前成功获取的MySQL连接。

close();
// 关闭数据库连接
mysqli_close($link);
?>

在实际应用中,应当注意操作SQL数据库前后保持数据的完整性、连续性和一致性。

你可能感兴趣的:(随笔,技术,PHP)