【问题标题】:Connecting to server failed in PHP在 PHP 中连接到服务器失败
【发布时间】:2016-04-17 06:47:08
【问题描述】:

以下是我的php代码

<?
$server = 'mysql.hostinger.in';
$user = '*********';
$pass = '****';
$db = '********';
$email = $_POST['email'];
echo $email;
$conn = mysqli_connect($server,$user,$pass,$db);
$in = "INSERT INTO Emails (Email)
VALUES ($email)";


if (mysqli_query($conn, $sql)) {
    echo "New record created successfully";

} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
?>

每当我编译代码时,它都会给我一个错误。

【问题讨论】:

  • 这不是唯一让你失望的事情,VALUES ($email)
  • 1) sql injection attack 漏洞。 2) 未能在您的查询中正确使用引号。
  • 我能做些什么来解决它?
  • +Fred -ii- 解决办法是什么?

标签: php mysql database server connection


【解决方案1】:
<?php 
if(isset($_POST['your_submit_button_name'])){
$server = 'mysql.hostinger.in';
$user = '*********';
$pass = '****';
$db = '********';
$email = htmlspecialchars($_POST['email']);
echo $email;
$conn = mysqli_connect($server,$user,$pass,$db);
$in = "INSERT INTO `Emails` (Email) VALUES ('$email')";
if (mysqli_query($conn, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
}
?>

【讨论】:

  • 您必须使用 isset 函数 (isset function) 来发送或处理您的表单。无论如何,你必须尽量避免sql问题。
  • +George 但我记得很久以前看过一些演示代码,它们没有使用 Isset 函数
  • 添加了isset这一事实并不能直接解决您的问题-您的SQL中缺少引号确实(此处的引号:VALUES ('$email')),因为$email是一个字符串。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-09
  • 2016-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多