【发布时间】:2019-10-16 14:43:31
【问题描述】:
基本上,我正在部署一个具有注册和登录功能的简单网站。 我已经部署到 AppEngine 并且我的 Cloud SQL 在同一个 AppEngine 项目中。项目:http://cc-lab4.appspot.com/register.php
我在 Cloud SQL 中创建了数据库和表,我希望我的 register.php 连接到云 sql 数据库并执行插入查询。
我真的很想使用 mysqli_connect(),因为我熟悉这个,PDO 连接对我来说是新的。
我还不知道具体的连接方式,完全没有成功。 任何人都知道如何使用 mysqli_connect() 到 Cloud SQL 会很棒。
//Variables for Database connection
$user = "root";
$pw = "root";
$socket = '/cloudsql/'. $ENV{"cc-lab4:australia-southeast1:my-sql-artworks"};
$dbname = "artworks";
//Registration values from <Form>
$username = $_POST['username'];
$password = $_POST['password'];
//Database connection
$db = mysqli_connect(NULL, $user, $pw, $dbname, NULL, $socket);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//Table Member (id, username,password,reg_date)
$q = "insert into member values(null, '$username', SHA('$password'), now())";
mysqli_query($db, $q);
【问题讨论】:
-
切勿以明文形式或使用 MD5/SHA1 存储密码! 仅存储使用 PHP 的
password_hash()创建的密码哈希,然后您可以使用password_verify()进行验证。看看这篇文章:How to use password_hash 并了解更多关于bcrypt & password hashing in PHP
标签: php mysql google-app-engine mysqli google-cloud-sql