Php API和数据库调用在同一页上

Php API和数据库调用在同一页上,php,mysql,mailchimp-api-v3.0,Php,Mysql,Mailchimp Api V3.0,我在a页上有一个PHP表单 我把表格提交到B页,在那里信息进入数据库 我还需要进行API调用,将提交的电子邮件地址添加到MailChimp 我正在使用mailchimp api脚本: 输入数据的表单自行工作,添加电子邮件的API自行工作 但当我尝试在同一页上同时做这两件事时,我得到: This page isn’t working XYZ.com is currently unable to handle this request. HTTP ERROR 500 相关代码如下。我尝试过切换调用

我在a页上有一个PHP表单

我把表格提交到B页,在那里信息进入数据库

我还需要进行API调用,将提交的电子邮件地址添加到MailChimp

我正在使用mailchimp api脚本:

输入数据的表单自行工作,添加电子邮件的API自行工作

但当我尝试在同一页上同时做这两件事时,我得到:

This page isn’t working
XYZ.com is currently unable to handle this request.
HTTP ERROR 500
相关代码如下。我尝试过切换调用顺序(API和数据库)。我尝试将API调用放入条件语句中:

if ($conn->query($sql) === TRUE) { }
以下是整个代码块:

    <?php

// API call

include('MailChimp.php');

use \DrewM\MailChimp\MailChimp;

$MailChimp = new MailChimp('xxxxxxxxxxxxxxx-us1');

$list_id = 'xxxxxxxxxxx';
$email = $_POST['email'];

$result = $MailChimp->post("lists/$list_id/members", [
                'email_address' => $email,
                'status'        => 'subscribed',
                'interests'    => ['xxxxxxxxxxx' => true],
            ]);

// database call

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

$email = $_POST['email'];

$conn = new mysqli("localhost", "xxxxxxxxxxx", "xxxxxxxxxxx", "xxxxxxxxxxx", 3306);
if ($conn->connect_errno) {
    echo "Failed to connect to MySQL: (" . $conn->connect_errno . ") " . $conn->connect_error;
}

$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
$implanted = $_POST['implanted'];
$pacemaker = $_POST['pacemaker'];
$over_21 = $_POST['over_21'];
$updates = $_POST['updates'];

$sql = sprintf("INSERT INTO patients (FIRST_NAME, LAST_NAME, EMAIL, IMPLANTED, PACEMAKER, OVER_21, UPDATES, DATE) values ('%s','%s','%s','%s','%s','%s','%s', CURDATE())",
    mysqli_real_escape_string($conn,$first_name),
    mysqli_real_escape_string($conn,$last_name),
    mysqli_real_escape_string($conn,$email),
    mysqli_real_escape_string($conn,$implanted),
    mysqli_real_escape_string($conn,$pacemaker),
    mysqli_real_escape_string($conn,$over_21),
    mysqli_real_escape_string($conn,$updates));


if ($conn->query($sql) === TRUE) {          
    //echo "New record created successfully" . $sql;
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();

} ?>

数据库中是否输入了任何数据?每当出现500个错误时,您需要查看web服务器的错误日志并找到实际的消息。这里的人可能会帮你发现你的打字错误并纠正这个错误,但从长远来看,你需要找到实际的信息,这将给你一个更好的提示,并且可能是错误的行号。查看apache/nginx/lighttpd错误日志,并发布导致500错误的错误消息。代码看起来“很好”(没有解析错误)。如果将错误报告(E_ALL)添加到页面中,是否会得到任何输出?但正如@mikeb所说,检查您的服务器日志,以获得更多信息,了解页面返回500的原因。到:vivek_23是的,数据添加到:Bert Maurau I added error_reporting(E_ALL)感谢您提醒我@mikeb查看错误日志,我发现“解析错误:语法错误,意外的‘用法’(T_use)”,在搜索该错误后,我移动了“用法…”它引用的include下面的一行,页面就工作了!我不知道为什么一个空白行会有不同,但确实如此。谢谢大家!