是否为远程连接正确配置了Mysql但php代码连接失败?

时间:2017-08-16 18:07:09

标签: php mysql ubuntu mysqli remote-access

我经历了一个艰苦的过程,弄清楚如何在配置文件中绑定正确的地址并将mysql连接到我的远程服务器。昨天它使用不同的代码,现在它没有连接。我得到了死亡“连接失败:”但它没有向我显示connect_error,因为我呼吁这么不能解决问题?有没有人看到我的代码有问题?注意:我知道这是不安全的,我通常做预备语句,但现在只是尝试连接到db问题。

<?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>

1 个答案:

答案 0 :(得分:0)

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

要:

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

因为if($ conn-&gt; connect_error)=如果有任何错误,如果没有错误(!$ conn-&gt; 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