在 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());
}
?>
我正在尝试将我的 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());
}
?>