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
为什么上传图片会出错?
答案 0 :(得分:0)
$sql = "INSERT INTO image (image, text) VALUES ('$image', '$text')";
错误,因为$ image和$ text变量不会连接。此外,你应该避免使用连接变量来查询和bind它们而不是 - 至少如果你想避免SQL injection。