第9章 使用PHP和MySQL

2018-03-03 15:00:48 《PHP与MySQL动态网站开发》笔记 阅读: 266

连接MySQL

连接MySQL:

$dbc = mysqli_connect(hostname, username, password);

切换数据库:

mysqli_select_db($dbc, db_name);

或者一步完成:

$dbc = mysqli_connect(hostname, username, password, db_name);

连接错误信息:mysqli_connet_error()

一般将数据库的连接单独放在一个文件中,之后需要时使用文件包含它

关闭MySQL连接

语法:

mysqli_close($dbc);

非必须操作,PHP执行结束后会自动关闭连接

SQL查询

语法:

$ret = mysqli_query($dbc, query_str);

返回数据的查询结果

处理SELECT查询返回的数据:

while($row = mysqli_fetch_array($ret[, $type])){
...
}

其中mysqli_fetch_array()函数每次以数组格式返回一行记录, $type:MYSQLI_ASSOC返回关联数组、MYSQLI_NUM返回数字数组、MYSQLIBOTH返回关联和数字数组(默认值)

获取查询错误的信息:mysqli_error()

获取SELECT查询的行数:$num = mysqli_num_rows($ret);

获取受SQL查询的影响行数:$num = mysqli_affected_rows($dbc);

释放$ret内存(可选):mysqli_free_result($ret);

确保SQL安全

  • 保护MySQL连接信息:可以将连接脚本放在web目录外面
  • 不要呈现过多的MySQL访问信息:只在调试时打开错误报告
  • 涉及用户提交的数据要小心:永远不要相信用户的提交数据,
    • 验证值类型是否正确(数字、字符串等)
    • 使用正则表达式匹配(14章)
    • 强制转换值类型保证是数字(13章)
    • 通过mysqli_real_escape_srting()函数处理用户提交的数据,通过转义清理有问题的字符:
 $safe = mysqli_real_escape_string($dbc, data);

版权声明:本文为博主原创文章,转载需注明来自: 洛洛の空间


功能
最新评论