连接到phpmyadmin - 将数据输入数据库

时间:2015-11-05 23:36:30

标签: php mysql

我在Amazon Web Services实例上使用的是ubuntu服务器。我已经设置了数据库并且能够连接到我创建的其他表,除了这个新表“data”给我一些问题。通过php代码中的if语句,我知道我连接到数据库,显然数据正在提交。但是,当我进入phpmyadmin时,我看到该表是空白的。下面的代码有问题吗?如果没有,这可能是什么?

<?php 

if(isset($_POST['submit'])){


$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$facebook = $_POST['facebook'];
$linkedin = $_POST['linkedin'];
$twitter = $_POST['twitter'];
$yourstory = $_POST['yourstory'];



$connection = mysqli_connect('xxxxxx.xxxxxxxxx.us-west-1.rds.amazonaws.com', 'root', 'welcome', 'awstutorial', 3306);

}


    $query = "INSERT INTO data(name, email, phone, facebook, linkedin, twitter, yourstory)";
    $query .= "VALUES ('$name', '$email', '$phone'. '$facebook', '$linkedin', '$twitter', '$yourstory')";

    $result = mysqli_query($connection, $query);

    if(!result) {

    die('Query Failed' . mysqli_error());

    } echo "Submitted!";

?>

2 个答案:

答案 0 :(得分:0)

代码存在一些问题:

  • 连接数据库后,您没有检查错误
  • 您的代码容易受到SQL注入攻击,因为您没有在查询中正确转义用户提供的输入。
  • 如果请求中没有提交字段,或者请求不是POST类型,则不会连接到数据库,但是您将尝试执行查询

但是,如果您看到“已提交”消息,则代码为“插入”将成功。如果是这样,您是否可能在phpMyAdmin中连接到另一台服务器?

答案 1 :(得分:0)

你的问题是这两行:

$query = "INSERT INTO data(name, email, phone, facebook, linkedin, twitter, yourstory)";
$query .= "VALUES ('$name', '$email', '$phone'. '$facebook', '$linkedin', '$twitter', '$yourstory')";

当你简化它时:

"INSERT INTO data(...)VALUES (...)"

应该是:

"INSERT INTO data(...) VALUES (...)"

问题:

  • 您忘记在"VALUES"之前添加空格,因此VALUES卡在了)
  • 你最后没有加分号。可能不是导致问题的原因,但你永远不会知道。