2015-03-23 10 views
-2

Я следующий код функции в PHP файл под названием sample.php:Почему require_once не работает в следующем сценарии?

function deleteValue($value) { 

    $servername = "localhost"; 
    $username = "root"; 
    $password = "jumbo"; 
    $dbname = "demo"; 

    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    // Check connection 
    if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
    } 

    $sql = "DELETE FROM user WHERE value = '$value'"; 

    if ($conn->query($sql) === TRUE) { 
    $conn->close();  
    return true; 
    } else { 
    $conn->close();  
    return false; 
    } 
} 

На самом деле, в этом файле (sample.php) слишком много таких функций, которые повторяют следующий код подключения базы данных:

Затем я создал один файл под названием db.php в той же папке и добавил к нему вышеуказанный код. Использование require_once('db.php'); в начале файла 'sample.php' Я включил файл в код выше. Наконец, код появился следующим образом:

require_once('db.php'); 
function deleteValue($value) { 

     $sql = "DELETE FROM user WHERE value = '$value'"; 

     if ($conn->query($sql) === TRUE) { 
     $conn->close();  
     return true; 
     } else { 
     $conn->close();  
     return false; 
     } 
    } 

Теперь он дает мне 500 внутренних ошибок сервера.

Даже вместо того, чтобы включать файл, я попытался вставить весь код из db.php в начале файла sample.php следующим образом, но все же я получаю 500 Internal Server Error.

$servername = "localhost"; 
    $username = "root"; 
    $password = "jumbo"; 
    $dbname = "demo"; 

    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    // Check connection 
    if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
    } 

function deleteValue($value) { 

    $sql = "DELETE FROM user WHERE value = '$value'"; 

    if ($conn->query($sql) === TRUE) { 
    $conn->close();  
    return true; 
    } else { 
    $conn->close();  
    return false; 
    } 
} 

Может кто-то исправить ошибку, которую я делаю в своем коде?

Заранее спасибо.

+1

Какая ошибка? Что говорит ваш журнал ошибок? – mhall

+0

Можете ли вы получить доступ к своей странице без этого кода? Внутренняя ошибка сервера кажется мне более похожей на ошибку конфигурации сервера, возникающую из вашего файла htaccess или файла httpd.conf apache, а не на ваш PHP-скрипт. – NaijaProgrammer

ответ

0

Я предлагаю вам, что в db_config.php файла, который вы должны использовать только конфигурацию базы данных и функцию, как это:

$servername = "localhost"; 
$username = "root"; 
$password = "jumbo"; 
$dbname = "jumbo_jet"; 

$conn = new mysqli($servername, $username, $password, $dbname); 
if ($conn->connect_errno) { 
    echo "Failed to connect to MySQL: (" . $conn->connect_errno . ") " . $conn->connect_error; 
} 

И в common.php используйте следующий код:

require_once("db_config.php"); 

function deleteToken($receivedToken) { 
    global $conn; 
    $sql = "DELETE FROM user_login WHERE token = '$receivedToken'"; 

    if ($conn->query($sql) === TRUE) { 
    return true; 
    } 
    return false; 
} 

Я надеюсь, что это сработает для вас. Если что-нибудь еще, то дайте мне знать.

+0

То же самое, что я делаю. Если вы внимательно посмотрите на мой вопрос, вы поймете, что я сделал, но получил 500 Internal Server Error для этого. – user2839497

+0

Тогда я думаю, что у вас есть другая проблема, а не ошибка PHP-скрипта. Я прошу прощения! – Sateesh

Смежные вопросы