持续 php 500 错误
persistent php 500 error
我是 PHP 的新手,我正在尝试 运行 一个简单的 php 脚本。它连接到带有 PHP 5.6 的 LAPP,我设置了一个简单的测试数据库
Peugeot 6666666
Mercedes 57127
Skoda 9000
Volvo 29000
Bentley 350000
Citroen 21000
Hummer 41400
Volkswagen 21600
数据库没有问题。问题是 php 脚本成功连接到数据库但显示持续的 500 错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
# $db = pg_connect("sslmode=require host=$host port=5432 dbname=$database user=$user password=$pass");
if(!$db){
# echo "Error : Unable to open database\n";
} else {
# echo "Opened database successfully\n";
}
$sql =<<<EOF
SELECT * from Cars;
EOF;
$ret = pg_query($db, $sql);
if(!$ret){
echo pg_last_error($db);
exit;
}
# $myarray = array()
while($row = pg_fetch_row($ret)){
$myarray[] = $row;
}
# echo json_encode($myarray, JSON_NUMERIC_CHECK);
echo $myarray
# echo "Operation done successfully\n";
pg_close($db);
?>
两条线
error_reporting(E_ALL);
ini_set('display_errors', '1');
以及我的 php.ini 文件中的行
display_errors = On
不要因为恼人的 500 内部错误而有所不同。
逐行手动获取我的代码,我注意到定义数组($myarray = array()
)以及当我回显它(echo $myarray
)时给我错误。唯一的解决方法是使用我想跳过的 json_encode
。
所以我有两个问题。
*为什么我仍然遇到一般性 500 错误?
*为什么定义数组并回显它会崩溃?
您的 echo $myarray
末尾没有 ;
。
在使用变量之前声明变量也是一种很好的做法。
因此,在 while 循环中使用它之前使用 $myarray = array();
。
我是 PHP 的新手,我正在尝试 运行 一个简单的 php 脚本。它连接到带有 PHP 5.6 的 LAPP,我设置了一个简单的测试数据库
Peugeot 6666666
Mercedes 57127
Skoda 9000
Volvo 29000
Bentley 350000
Citroen 21000
Hummer 41400
Volkswagen 21600
数据库没有问题。问题是 php 脚本成功连接到数据库但显示持续的 500 错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
# $db = pg_connect("sslmode=require host=$host port=5432 dbname=$database user=$user password=$pass");
if(!$db){
# echo "Error : Unable to open database\n";
} else {
# echo "Opened database successfully\n";
}
$sql =<<<EOF
SELECT * from Cars;
EOF;
$ret = pg_query($db, $sql);
if(!$ret){
echo pg_last_error($db);
exit;
}
# $myarray = array()
while($row = pg_fetch_row($ret)){
$myarray[] = $row;
}
# echo json_encode($myarray, JSON_NUMERIC_CHECK);
echo $myarray
# echo "Operation done successfully\n";
pg_close($db);
?>
两条线
error_reporting(E_ALL);
ini_set('display_errors', '1');
以及我的 php.ini 文件中的行
display_errors = On
不要因为恼人的 500 内部错误而有所不同。
逐行手动获取我的代码,我注意到定义数组($myarray = array()
)以及当我回显它(echo $myarray
)时给我错误。唯一的解决方法是使用我想跳过的 json_encode
。
所以我有两个问题。
*为什么我仍然遇到一般性 500 错误?
*为什么定义数组并回显它会崩溃?
您的 echo $myarray
末尾没有 ;
。
在使用变量之前声明变量也是一种很好的做法。
因此,在 while 循环中使用它之前使用 $myarray = array();
。