如何检测MAMP中的错误?

时间:2017-01-07 17:14:11

标签: php mysqli mamp

MAMP服务器。尝试通过以下代码将图像上传到数据库:

$msg = "";
if(isset($_POST['upload'])) {
    $target = "cell-phones-store/".basename($_FILES['image']['name']);
    $db = mysqli_connect("localhost", "root", "root", "images");

    $image = $_FILES['image']['name'];
    $text = $_POST['text'];

    $sql = "INSERT INTO image (image, text) VALUES ('$image', '$text')";
    mysqli_query($db, $sql);

    if(move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
        $msg = "OK!";
    } else {
        $msg = "Error";
    }
}

但是有一个错误:500内部服务器错误没有任何警告和错误页面上的任何其他信息。

这是我的.htaccess文件:

php_value error_reporting -1
php_flag display_errors on
php_flag display_startup_errors on

php_flag ignore_repeated_source off
php_flag ignore_repeated_errors off

php_flag track_errors on

php_flag log_errors on

php_flag mysql.trace_mode on

php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL

还在php.ini中尝试了这段代码:

error_reporting = E_ALL
display_errors On

display_startup_errors = On

为什么上传图片会出错?

1 个答案:

答案 0 :(得分:0)

  1. 请检查错误日志文件(您可以在apache配置文件中获取其路径)
  2. 您的代码$sql = "INSERT INTO image (image, text) VALUES ('$image', '$text')";错误,因为$ image和$ text变量不会连接。此外,你应该避免使用连接变量来查询和bind它们而不是 - 至少如果你想避免SQL injection