【发布时间】: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