在 APACHE2 中创建数据库返回内部服务器错误

Creating Database in APACHE2 returning internal server error

我正在尝试将我的 pi 用作网络服务器。当我尝试在我的数据库中创建 Table 时,它返回内部服务器错误。谁能帮我诊断一下是什么原因造成的?

    <?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'anthony';
$dbname = "messages";
$conn = mysql_connect($dbhost, $dbuser, $dbpass, $dbname);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully<br />';
$sql = "CREATE TABLE IF NOT EXISTS message_tbl (
        message_id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
        message_name VARCHAR(50) NOT NULL, 
        message_subject VARCHAR(40) NOT NULL,
        message_txt VARCHAR(500) NOT NULL, 
        message_amount INT(10) NOT NULL, 
        message_die VARCHAR(10) NOT NULL, 
        message_modifier INT(10) NOT NULL, 
        message_roll INT(10) NOT NULL
        )"; 
mysql_select_db( 'TUTORIALS' );
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not create table: ' . mysql_error());
}
echo "Table created successfully\n";
mysql_close($conn);
?>

我通常至少会期望它返回 Could not create table:。我在我的 pi 上安装了 apache2、php 和 mysql 以及一个名为 messages 的数据库。

MySQL 的默认端口是 3306,而不是 3036。但是你真的应该放弃那些过时的代码,重新开始使用 PDO。这样的事情可能会奏效。我在使用该应用程序的设备上,所以可能不是我最好的作品,但至少应该让你指出正确的方向。

<?php
try {
    $conn = new PDO("mysql:host=localhost;dbname=TUTORIALS", "root", "anthony");
    echo 'Connected successfully<br />';
    $sql = "CREATE TABLE IF NOT EXISTS message_tbl (
        message_id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
        message_name VARCHAR(50) NOT NULL, 
        message_subject VARCHAR(40) NOT NULL,
        message_txt VARCHAR(500) NOT NULL, 
        message_amount INT(10) NOT NULL, 
        message_die VARCHAR(10) NOT NULL, 
        message_modifier INT(10) NOT NULL, 
        message_roll INT(10) NOT NULL
    )";
    $conn->query($sql);
    echo "Table created successfully\n";
} catch (PDOException $e) {
    die($e->getMessage());
}
?>