计算机网站建设论文.阿里云个人备案可以做企业网站吗
news/
2025/9/22 21:28:19/
文章来源:
计算机网站建设论文.,阿里云个人备案可以做企业网站吗,翻译企业网站建设,桂林建网站在Mac电脑上使用VS Code进行PHP开发并关联操作MySQL数据库#xff0c;然后将数据库部署到ECS。
1.安装PHP和MySQL
确保你的Mac上已经安装了PHP和MySQL。你可以使用Homebrew来安装它们#xff1a;
$ brew install php
$ brew install mysql
安装mysql完成后记住这一句:
…在Mac电脑上使用VS Code进行PHP开发并关联操作MySQL数据库然后将数据库部署到ECS。
1.安装PHP和MySQL
确保你的Mac上已经安装了PHP和MySQL。你可以使用Homebrew来安装它们
$ brew install php
$ brew install mysql
安装mysql完成后记住这一句:
MySQL is configured to only allow connections from localhost by defaultTo connect run:mysql -u root
使用以下命令查询安装情况
$ php -v
$ mysql --version
启动MySQL服务
$ brew services start mysql
重启MySQL服务
$ brew services restart mysql
停止MySQL服务
$ brew services stop mysql
2.创建MySQL用户、数据库和权限
登录到MySQL
// 无密码直接用这一句登录
$ mysql -u root
// 也可以用这指令输密码是直接回车跳过就是
$ mysql -u root -p
创建新数据库
$ CREATE DATABASE mydatabase;
创建新用户并设置密码替换myuser和mypassword为你自己的设置
$ CREATE USERmyuserlocalhost IDENTIFIED BYmypassword;
授权新用户访问数据库
$ GRANT ALL PRIVILEGES ON mydatabase.*TOmyuserlocalhost;
刷新权限
$ FLUSH PRIVILEGES;
退出MySQL
$ EXIT; 3.配置PHP连接MySQL
你需要在PHP代码中使用PDO或mysqli扩展来连接MySQL数据库。
确保你的MySQL服务正在运行并且你已经创建了相应的用户、数据库和权限。
1).PDO
?php
$host 127.0.0.1;
$db your_database;
$user your_username;
$pass your_password;
$charset utf8mb4;$dsn mysql:host$host;dbname$db;charset$charset;
$options [PDO::ATTR_ERRMODE PDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODE PDO::FETCH_ASSOC,PDO::ATTR_EMULATE_PREPARES false,
];try {$pdo new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {throw new \PDOException($e-getMessage(), (int)$e-getCode());
}
?2).mysqli扩展
?php// 数据库连接配置
$host localhost;
$dbname mydatabase;
$username myusername;
$password mypassword;// 创建 mysqli 连接对象
$conn new mysqli($host, $username, $password, $dbname);// 检查连接是否成功
if ($conn-connect_error) {die(连接失败: . $conn-connect_error);
}// 执行查询语句
$query SELECT * FROM users;
$result $conn-query($query);// 处理结果集
if ($result-num_rows 0) {while ($row $result-fetch_assoc()) {echo $row[username] . br;}
} else {echo 没有结果;
}// 关闭数据库连接
$conn-close();? 4.在VS Code中编写和运行PHP代码 index.html
!DOCTYPE html
html
headtitle城市信息表单/title
/head
bodyh1城市信息表单/h1form actionhttp://localhost:8080/city.php methodpostlabel forcityName城市名称:/labelinput typetext idname namename requiredbrbrlabel forcityCode城市编码:/labelinput typetext idcode namecode requiredbrbrlabel forcityCode增删改查:/labelinput typetext idmark namemark requiredbrbrinput typesubmit value提交/formp idjsonResponse/pscriptdocument.querySelector(form).addEventListener(submit, function (event) {event.preventDefault();// 方式一PHP 中使用这种方式获取 $name $_POST[name] ?? ;var form event.target;var formData new FormData(form);fetch(form.action, {method: POST,body: formData}).then(response response.json()).then(data {document.getElementById(jsonResponse).textContent JSON.stringify(data);}).catch(error console.error(请求接口失败, error));/*// 方式二PHP中用这种方式获取 $data json_decode(file_get_contents(php://input), true); $name $data[name] ?? ;var form event.target;var name form.elements.name.value;var code form.elements.code.value;var mark form.elements.mark.value;var requestData {name: name,code: code,mark: parseInt(mark) // mark 1:增 2:删 3:改 4:查};var xhr new XMLHttpRequest();xhr.open(POST, form.action);xhr.setRequestHeader(Content-Type, application/json);// xhr.setRequestHeader(Content-Type, application/x-www-form-urlencoded);xhr.onload function () {if (xhr.status 200) {var data JSON.parse(xhr.responseText);document.getElementById(jsonResponse).textContent JSON.stringify(data);} else {console.error(请求接口失败);}};xhr.send(JSON.stringify(requestData));*/});/script
/body
/html
pdoConnect.php
?php
$host 127.0.0.1;
$db city_database;
$user gamin;
$pass 123456;
$charset utf8mb4;$dsn mysql:host$host;dbname$db;charset$charset;
$options [PDO::ATTR_ERRMODE PDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODE PDO::FETCH_ASSOC,PDO::ATTR_EMULATE_PREPARES false,
];// 连接数据库
try {$pdo new PDO($dsn, $user, $pass, $options);createCitiesTable();
} catch (\PDOException $e) {throw new \PDOException($e-getMessage(), (int)$e-getCode());
}// 创建城市表
function createCitiesTable() {$tb_name cities;// 检查表是否已存在$isTableExists checkTableExists($tb_name);if (!$isTableExists) { // 创建表$sql CREATE TABLE $tb_name (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL,code INT NOT NULL);global $pdo;$pdo-exec($sql);} else {}
}// 检查表是否存在
function checkTableExists($tableName) {global $pdo;$stmt $pdo-query(SHOW TABLES LIKE $tableName);return $stmt-rowCount() 0;
}?
sqlOperation.php
?php
require pdoConnect.php;function pdo() {global $pdo;if (isset($pdo)) {return $pdo;} else {// 处理 $pdo 未初始化的情况return null;}
}// 改变数据 插入|更新|删除
function changeData(string $sql, array $arr) {$stmt pdo()?-prepare($sql);$result $stmt?-execute($arr);return $result;
}// 查询数据
function findData(string $sql, array $arr) {$stmt pdo()?-prepare($sql);$stmt?-execute($arr);$result $stmt?-fetch();return $result;
}?output.php
?phpclass ErrorCode {const FAILURE -1;const SUCCESS 0;const INVALID_INPUT 100;const MISSING_PARAMETER 101;const DATABASE_ERROR 200;const FILE_NOT_FOUND 201;const METHOD_NOT_ALLOW 405;const INTERNAL_SERVER_ERROR 500;const DATA_NOT_FOUND 1000;public static function getErrorMessage($errorCode) {switch ($errorCode) {case self::FAILURE:return Operation failed.;case self::SUCCESS:return Operation succeeded.;case self::INVALID_INPUT:return Invalid input provided.;case self::MISSING_PARAMETER:return Required parameter is missing.;case self::DATABASE_ERROR:return Database error occurred.;case self::FILE_NOT_FOUND:return File not found.;case self::METHOD_NOT_ALLOW:return Method not allowed.; case self::INTERNAL_SERVER_ERROR:return Internal Server Error.; case self::DATA_NOT_FOUND:return No matching data found.; default:return Unknown error occurred.;}}
}function outputJSON(int $errorCode, $data []) {// 构建要返回的数据$response [code $errorCode,message ErrorCode::getErrorMessage($errorCode),data $data];// 设置响应内容为 JSON 格式header(Content-Type: application/json);// 将数据转换为 JSON 字符串$json json_encode($response);// 输出 JSON 字符串echo $json;
}?city.php
?php
require sqlOperation.php;
require output.php;$tb_name cities;// 检查POST数据
if ($_SERVER[REQUEST_METHOD] POST) {/* 方式一 */// 获取数据并验证$name $_POST[name] ?? ;$code $_POST[code] ?? ;$mark $_POST[mark] ?? 0;/* 方式二表单中Content-Type用application/json时用这种方式获取传参 // 获取 JSON 数据并解析$data json_decode(file_get_contents(php://input), true);// 获取数据并验证$name $data[name] ?? ;$code $data[code] ?? ;$mark $data[mark] ?? 0;*/if (empty($name) || empty($code) || $mark 0) {outputJSON(ErrorCode::MISSING_PARAMETER);return;}// mark 1:增 2:删 3:改 4:查if ($mark 1) {// 插入数据$result changeData(INSERT INTO $tb_name (name, code) VALUES (:name, :code), [name $name, code $code]);if ($result) {outputJSON(errorCode::SUCCESS);} else {outputJSON(errorCode::FAILURE);}} else if ($mark 2) {// 删除数据$result changeData(DELETE FROM $tb_name WHERE code :code, [code $code]);if ($result) {outputJSON(errorCode::SUCCESS);} else {outputJSON(errorCode::FAILURE);}} else if ($mark 3) {// 更新数据$result changeData(UPDATE $tb_name SET name :name WHERE code :code, [name $name, code $code]);if ($result) {outputJSON(errorCode::SUCCESS);} else {outputJSON(errorCode::FAILURE);}} else if ($mark 4) {// 查询数据$result findData(SELECT * FROM $tb_name WHERE code :code, [code $code]);if ($result) {// 查询成功至少有一条匹配的数据outputJSON(errorCode::SUCCESS,$result);} else {// 查询失败没有匹配的数据outputJSON(ErrorCode::DATA_NOT_FOUND);}}exit;
}?
cityList.php
?php
require(pdoConnect.php);
require(output.php);// 检查POST数据
if ($_SERVER[REQUEST_METHOD] POST) { try {// 获取数据并验证$page isset($_POST[page]) ? intval($_POST[page]) : 1; // 当前页码默认为第一页$pageSize isset($_POST[pageSize]) ? intval($_POST[pageSize]) : 10; // 每页数据条数默认为 10// 对页码进行有效性检查$page max(1, intval($page)); ;// 确保每页记录数为正整数$pageSize max(1, intval($pageSize)); ;// 表名$tb_name cities;// 查询总记录数$countSql SELECT COUNT(*) AS total FROM $tb_name;$countStmt $pdo-prepare($countSql);$countStmt-execute();$totalItems $countStmt-fetchColumn();// 计算总页数$totalPages ceil($totalItems / $pageSize);// 对页码进行有效性检查$page min($page, $totalPages);// 计算偏移量$offset ($page - 1) * $pageSize;// 查询当前页的数据$sql SELECT * FROM $tb_name LIMIT :offset, :pageSize;$stmt $pdo-prepare($sql);$stmt-bindValue(:offset, $offset, PDO::PARAM_INT);$stmt-bindValue(:pageSize, $pageSize, PDO::PARAM_INT);$stmt-execute();$pagedData $stmt-fetchAll(PDO::FETCH_ASSOC);// 构建要返回的数据$response [page $page,pageSize $pageSize,totalPages $totalPages,totalItems $totalItems,data array_map(function ($item) {return $item;}, $pagedData)];outputJSON(ErrorCode::SUCCESS, $response);} catch (Exception $e) {// 发生错误时返回错误响应outputJSON(ErrorCode::INTERNAL_SERVER_ERROR);}
} else {// 非 POST 请求返回错误响应outputJSON(ErrorCode::METHOD_NOT_ALLOW);
}? 5.测试本地开发环境
在本地开发环境中测试你的PHP脚本确保它可以正确地与MySQL数据库进行交互。 6.将MySQL数据库部署到ECS
1).创建ECS实例登录到阿里云管理控制台创建一个ECS实例。
2).安装MySQL通过SSH连接到你的ECS实例使用相应的包管理器安装MySQL。
3).配置MySQL设置用户权限、创建数据库并导入你的本地数据库数据到ECS上的MySQL实例。
4).更新你的PHP代码中的数据库连接信息使其指向ECS实例上的MySQL。 7.部署PHP代码到ECS
1).将你的PHP代码上传到ECS实例。你可以使用FTP、SCP或者Git来传输文件。
2).配置Web服务器在ECS上安装和配置Nginx或Apache作为Web服务器来处理PHP请求。
3).确保ECS的安全组规则允许访问MySQL和Web服务器的端口。 8.测试远程环境
在浏览器中访问你的ECS实例的公网IP地址确保你的PHP应用能够正确地运行并连接到MySQL数据库。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910429.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!