这给出了一个空白页面,我不明白为什么

时间:2014-03-20 19:40:42

标签: php html sql

作为更大系统的一部分,我在网页中嵌入了一段PHP代码,用于将值插入数据库。但是,它会返回一个完全空白的HTML页面。

<?php
$mysqli = new mysqli("thing", "stuff", "morestuff", "otherstuff");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

$Name1 = $_POST['forename'];
$Name2 = $_POST['surname'];
$Email = $_POST['email'];
$Admin = $_POST['admin'];
$Pass = "password";

flag = 0;
$User = $Name1;

if (flag == 0) {
    $SQLQuery2 = "INSERT INTO
Table1 (Forename, Surname, Admin, EmailAddress, Username, Password)
VALUES ('$Name1', '$Name2', '$Admin', '$Email', '$User', '$Pass');";
    $mysqli->($SQLQuery2);
    $contents = '<h1>User creation successful</h1>';}
else {$contents = '<h1>Error: Email address already in use.</h1>';}
?>
<html>
<head>
<title>Add User</title>
</head>
<body>
<?php
echo $contents;
?>
</body>
</html>

我已经从整个系统中删除了它,并且(虽然它显然没有真正的连接细节)连接细节不是问题,因为我使用的是我系统中其他地方的SQL连接方法相同,具有相同的细节,并且工作正常。所有帖子值也都正确传递。

我至少检查了半冒号,并且我不知道问题是什么。有人可以帮忙吗?

修改:我现在已将flag更改为$flag,但我仍然遇到同样的错误。我已经包括

error_reporting(-1);
ini_set("display_errors", 1);

<?php下面的文件中,但它没有做任何事情。

第二次修改:另一个主要问题是mysqli->($SQLQuery2)应为mysqli->query($SQLQuery2)。我已经修好了它现在正在工作。

2 个答案:

答案 0 :(得分:6)

获得更好的编辑:

flag = 0;
...
if (flag == 0) {

$flag = 0;
...
if ($flag == 0) {

此外,如果您运行php -l file.php,它将检查错误。

另外,在开发时:

error_reporting(E_ALL);
ini_set('display_errors', '1');

答案 1 :(得分:1)

这是因为您的代码中存在错误,并且PHP配置为不向您显示错误。

打开您的php.ini文件。您可以使用以下命令找到该文件:

php -r "echo php_ini_loaded_file();"

更改为这些值:

error_reporting = -1
display_errors = 1

保存文件并重新启动服务器。

编辑:您可以通过将以下内容放在脚本的顶部来打开PHP文件中的错误:

error_reporting(-1);
ini_set("display_errors", 1);

您也可以在自己的计算机上安装服务器。 XAMPP库非常易于安装和使用。