【问题标题】:http server error 500 when running.php on AWS PHP Elastic Beanstalk在 AWS PHP Elastic Beanstalk 上运行时出现 http 服务器错误 500
【发布时间】:2019-05-11 18:56:28
【问题描述】:

我正在使用 PHP 配置开发在 AWS Elastic Beanstalk 上运行的 Web 应用程序。当我提交 HTML 表单时,我的 PHP 文件处理进入我的 MySQL 数据库的信息时收到服务器错误 500。由于我的 PHP 知识有限,我不知道如何解决这个问题。

<?php
  $hostname='SOMENAME.rds.amazonaws.com';
  $username='masteruser';
  $password='**********';

  try {
    $dbh = new PDO("mysql:host=$hostname;dbname=riderdb",$username,$password);

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $sql = "INSERT INTO riderInfo(partyNM, numParty, numCooler, phoneNum,pickUp)
    VALUES ('".$_POST["partyName"]."','".$_POST["numParty"]."','".$_POST["numCooler"]."','".$_POST["phoneNum"]". ','".$_POST["pickUP"].''")";
  if ($dbh->query($sql)) {
    echo "<script type= 'text/javascript'>alert('New Record Inserted Successfully');</script>";
  }
  else{
    echo "<script type= 'text/javascript'>alert('Data not successfully Inserted.');</script>";
  }

  $dbh = null;
  }
    catch(PDOException $e)
  {
    echo $e->getMessage();
  }
?>

【问题讨论】:

  • ElasticBeanstalk 在创建日志并将它们提供给您方面做得非常好。他们说什么?这是一个测试还是学校项目? PHP 已经准备好语句很长一段时间了。您显示的代码非常危险。但让我们先让它发挥作用。
  • 危险是什么意思?
  • 当您从 URL 参数构建查询字符串时,它很容易受到SQL Injection 攻击。但是,同样,如果代码不运行,那(可能)并不重要。
  • 日志向我显示代码的 Values 行存在问题。语法错误。
  • @stdunbar 我已经更正了问题以加载页面等。但是,我仍然在插入语句周围遇到语法错误。知道为什么吗?

标签: php amazon-web-services amazon-elastic-beanstalk


【解决方案1】:

问题在于我的插入语句的语法。我不得不在里面引用很多话。

$sql = "INSERT INTO riderInfo(partyNM, numParty, numCooler, phoneNum, pickUp)
VALUES ('".$_POST["partyName"]."','".$_POST["numParty"]."','".$_POST["numCooler"]."','".$_POST["phoneNum"]."','".$_POST["pickUP"]."')";

【讨论】:

    猜你喜欢
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 2020-08-24
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 2019-11-27
    相关资源
    最近更新 更多