掌握MySQL数据库系统与PHP/PERL整合的精粹

版权申诉
0 下载量 47 浏览量 更新于2024-10-24 收藏 444KB RAR 举报
资源摘要信息:"MySQL是一个广泛使用的开源SQL数据库管理系统,特别适合与Apache和PHP/PERL结合使用,为基于数据库的动态网站提供支持。MySQL由瑞典的T.c.X公司开发和维护,其主要参考文档为集中式的MySQL Reference Manual,内容全面覆盖MySQL的所有功能和特性。MySQL Reference Manual不仅为初学者提供了学习MySQL的途径,也为高级用户深入了解MySQL提供了丰富信息。本文档的内容基于MySQL 3.23.7alpla版本,但很多内容具有普遍适用性。本文档旨在推广MySQL的使用,并希望对翻译和推广工作提供帮助。由于翻译难度和作者水平有限,文档中难免存在一些不准确之处,读者在使用时应参照手册原文进行核对。需要注意的是,由于时间限制,部分附录内容未被翻译,读者可以通过访问***获取更多信息。" 知识点: 1. MySQL概述:MySQL是一种开源SQL数据库管理系统,广泛用于动态网站后端数据存储,支持多用户、多线程架构,是Web开发中的重要技术组件。 2. 开源与许可:虽然MySQL不是完全开放源代码的产品,但它允许在特定条件下自由使用。MySQL通常可以免费获取和使用,尤其适用于Web开发环境。 3. MySQL的架构与特点:MySQL以其强大功能、灵活性、丰富的应用编程接口(API)和精巧的系统结构获得广泛认可。MySQL的API支持多种编程语言,如C、C++、Java、Perl、PHP等,使其可以与多种开发平台和Web技术结合使用。 4. MySQL与Apache和PHP/PERL的结合:MySQL经常与Apache Web服务器以及PHP/PERL脚本语言一起使用,这种组合被称为“AMP”(Apache, MySQL, PHP/PERL),是构建动态网站的流行技术栈。 5. MySQL的开发与维护:MySQL由瑞典的T.c.X公司开发和维护。作为一个成熟的数据库管理系统,MySQL经历了多年的发展和优化,已经拥有广泛的用户基础和社区支持。 6. MySQL Reference Manual:MySQL Reference Manual是官方手册,是了解和掌握MySQL的权威资料,覆盖了MySQL的所有信息。它是MySQL用户和开发者学习、解决问题的宝贵资源。 7. MySQL版本:本文档基于MySQL 3.23.7alpla版本,但许多信息是通用的,适用于其他版本。 8. 附录内容:虽然文档中未能翻译的部分附录价值很高,但未被包含在内。用户可以通过其他渠道(如***)查阅这些未翻译的附录内容。 9. 数据库管理系统的概念:数据库管理系统(DBMS)是一种软件工具,用于创建、管理和操作数据库。DBMS允许用户通过各种操作来存储、检索和更新数据。 10. MySQL在中国的参考手册:本文档提供了一个中文版的MySQL参考手册,为中文用户提供学习和使用MySQL的帮助。 在使用MySQL时,应当熟悉其基本的数据库设计、SQL语言、数据管理以及数据库性能优化等知识。此外,了解MySQL的安全性、备份和恢复策略,以及如何与其他软件如Web服务器和编程语言整合,也是数据库管理员和开发者必须掌握的重要技能。

if(!function_exists('mysql_pconnect')){ function mysql_pconnect($dbhost, $dbuser, $dbpass){ global $dbport; global $dbname; global $linkid; $linkid = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname); return $linkid; } function mysql_select_db($dbname){ global $linkid; return mysqli_select_db($linkid,$dbname); } function mysql_fetch_array($result, $type=''){ if ($type) { return mysqli_fetch_array($result, $type); }else{ return mysqli_fetch_array($result); } } function mysql_fetch_assoc($result){ return mysqli_fetch_assoc($result); } function mysql_fetch_row($result){ return mysqli_fetch_row($result); } function mysql_free_result($result){ return mysqli_free_result($result); } function mysql_query($cxn){ global $linkid; return mysqli_query($linkid,$cxn); } function mysql_insert_id(){ global $linkid; return mysqli_insert_id($linkid); } function mysql_affected_rows(){ global $linkid; return mysqli_affected_rows($linkid); } function mysql_escape_string($data){ global $linkid; return mysqli_real_escape_string($linkid, $data); } function mysql_real_escape_string($data){ global $linkid; return mysqli_real_escape_string($linkid, $data); } function mysql_close(){ global $linkid; return mysqli_close($linkid); } function mysql_get_server_info(){ global $linkid; return mysqli_get_server_info($linkid); } function mysql_num_rows($result){ return mysqli_num_rows($result); } } error_reporting(E_ERROR | E_PARSE); error_reporting(E_ALL ^ E_WARNING); error_reporting(E_ALL & ~E_NOTICE); error_reporting(E_ALL ^ E_DEPRECATED);给代码加上注释

2023-06-06 上传

修改以下代码,并解释改正的原因:#define _CRT_SECURE_NO_WARNINGS #pragma warning(disable:6031) #include <stdio.h> #include <stdlib.h> #include <mysql.h> #include <string.h> #define N 3 MYSQL* conn; MYSQL m; void initialize() { // 初始化链接 conn = mysql_init(NULL); mysql_options(&m, MYSQL_SET_CHARSET_NAME, "gbk"); // 连接数据库 if (!mysql_real_connect(conn, "localhost", "b", "12345", "tang", 0, NULL, 0)) { printf("连接数据库失败: %s\n", mysql_error(conn)); exit(1); } else printf("数据库连接成功!\n"); } //录入学生信息 void Insert(MYSQL* mysql) { int i = 0; char* str1 = "insert into student(id,name,chengji) values("; char sql_insert[200]; for (i = 1; i <= N; i++) { char id[12], name[9]; char chengji=0; printf("请输入学生学号:"); gets_s(id, 12); printf("请输入学生姓名:"); gets_s(name, 9); printf("请输入学生成绩:"); gets_s(chengji, 9); int n = getchar(); sprintf(sql_insert," %s'%s', %5s", str1, id, name, chengji); mysql_query(mysql, sql_insert); printf("录入信息成功!\n"); } return; } // 显示学生信息 void Display(MYSQL* mysql) { char* str = "select from student"; MYSQL_RES* res; //一个结果集结构体 MYSQL_ROW row = NULL; //char**二维数组,存放一条条记录(一条记录代表一个学生的信息) char id[12], name[9]; char chengji; //向HySQL发送SQL语句 mysql_query(mysql, str); //获取结果集 res = mysql_store_result(mysql); //打印 printf("id\t name\t chengji\t"); while (row = mysql_fetch_row(res)) { for (int i = 0; i < mysql_num_fields(res); i++) { switch (i) { case 0: { strcpy(id, row[i]); break; } case 1: { strcpy(name, row[i]); break; } case 2: { strcpy(chengji, row[i]); break; } break; } } } printf("10s\t, %11s\t,%4s\n", id, name,chengji); nysql_free_result(res); } void finalize(){ // 关闭连接 mysql_close(conn); printf("已关闭数据库"); } int main() { initialize(); insert(); finalize(); return 0; }

2023-05-29 上传