php - Mysql 已正确配置远程连接,但 php 代码连接失败?

标签 php mysql ubuntu mysqli remote-access

我经历了弄清楚如何在配置文件中绑定(bind)正确的地址并将 mysql 连接到我的远程服务器的艰苦过程。昨天它使用不同的代码,但现在无法连接。我收到模具“连接失败:”,但它没有向我显示我所要求的 connect_error,所以甚至无法弄清楚问题?有人看到我的代码有问题吗?注意:我知道这是不安全的,我通常会做准备好的语句,但现在只是尝试处理与数据库问题的连接。

<?php
$server = "174.---.--.187";
$username = "dylanto";
$pass = "------";
$db = "survey";
//$port = 3306;
//create connection
$conn = new mysqli($server, $username, $pass, $db);
//check connection
if (!$conn->connect_error) {
die("Connection failed: " . $conn->connect_error);}

$user = $_POST['user'];
$pass = $_POST ['pass'];

$sql = "insert into login (user, pass) values ('$user','$pass')";

if ($conn->query($sql)==TRUE) {
echo "Account created";}

else {echo "something went wrong";}
$con->close;
?>

HTML 代码:

<html><head><title>Log-in</title>
<link rel="stylesheet" type="text/css" href="sytle.css"></head>
<body>
<center><u><strong><h2>Login</h2></u></strong></center>
<br />
<center>
<form action="signup_process.php" method="POST">
Pick Username: <br>
<input type ="text" name = "user"><br>
Pick Password:<br>
<input type ="password" name ="pass"><br>
<input type="submit" name="submit" value="Sign-up">
</form></center>
</body>
</html>

最佳答案

来自

if (!$conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

致:

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

因为 if ($conn->connect_error) = 如果有错误,而 if (!$conn->connect_error) 如果没有错误。

对于准备好的声明:

来自:

$sql = "insert into login (user, pass) values ('$user','$pass')";

if ($conn->query($sql)==TRUE) {
echo "Account created";}

else {echo "something went wrong";}

致:

//sanityze POST
$user = trim(mysqli_real_escape_string($conn, htmlspecialchars($_POST['user'], ENT_QUOTES, 'UTF-8')));
$pass = trim(mysqli_real_escape_string($conn, htmlspecialchars($_POST['pass'], ENT_QUOTES, 'UTF-8')));

//use prepared

$stmt = $conn->prepare("insert into login (user, pass) values (?,?)");

//bind parameter
$stmt->bind_param("ss", $user, $pass)

 $stmt->execute();

//then check

关于php - Mysql 已正确配置远程连接,但 php 代码连接失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45720326/

相关文章:

php - 如何在 joomla 组件中包含 css 和 jquery

linux - 如何在 Ubuntu/Linux 上启动和定位多个应用程序?

php - 如何将值从动态 html 表插入 MySQL 数据库?

mysql - MySQL中多个表的分组和求和

mysql - Rails Mysql::错误:查询:未连接 Windows 7

node.js - 无法使用 npm 安装 ShareJS

ubuntu - 如何在 Ubuntu 18.04 上安装单声道 2.10.8?

php - 将专有 CMS 数据库迁移到 Joomla 数据库

php - VSCode 的电话中未定义类型 'Imagick'

php - 将数据保存在 PHP 表单上以供以后使用