PHP-проект корректно запущен в PhpStorm, но не удалось запустить apache

#php #mysql #apache

#php #mysql #apache

Вопрос:

Я пишу PHP-файл, который использует ODBC для запроса данных из MySQL. Проект корректно запущен в PhpStorm. введите описание изображения здесь

Однако, когда я использую Apache для просмотра моего php-файла, возникают некоторые ошибки. Во-первых, не удалось подключиться к MySQL; во-вторых, информация о предупреждении отображается в неправильной кодировке. Я пытался изменить кодировку apache, но это не работает.

Проблемы

Мой php-код:

 <!DOCTYPE html>
<html>
<head>
    <title>PHP Test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <?php
        header("Content-Type:text/html; charset=UTF-8");
        
        $conn = odbc_connect("MyODBC", "root", "113459");
        if(!$conn){
            exit("Connection failed:".$conn);
        }
        else{
            echo "Connection Successfully! <br/>";
        }

        $sql = "SELECT * FROM persons";
        $rs = odbc_exec($conn, $sql);

        if(!$rs){
            exit("Error in MySQL <br/>");
        }
        else{
            echo "Execute Successfully!<br/>";
        }


        echo "<table><tr>";
        echo "<th>perosnID</th>";
        echo "<th>FirstName</th>";
        echo  "<th>LastName</th>";
        echo  "<th>Age</th>";

        while(odbc_fetch_row($rs)){
            $personID = odbc_result($rs,"personID");
            $FirstName = odbc_result($rs,"FirstName");
            $LastName = odbc_result($rs,"LastName");
            $Age = odbc_result($rs,"Age");

            echo "<tr><td>$personID</td>";
            echo "<td>$FirstName</td>";
            echo "<td>$LastName</td>";
            echo "<td>$Age</td></tr>";
        }

        odbc_close($conn);

        echo "</table>";

    ?>
</body>
</html>  

Комментарии:

1. Вы сказали, что используете MySQL, почему вы используете odbc? mysqli или PDO гораздо больше поддерживаются в PHP.

2. Методы mysqli или PDO работают хорошо. Я студент и делаю свою домашнюю работу. В домашнем задании меня просят использовать ODBC для посещения MySQL.

3. Понятно для домашней работы. Попробуйте немного прояснить это, когда вы говорите run correctly in PHPStorm, but run failed by apache , вы говорите об одном и том же компьютере? Похоже, вы просто не можете подключиться к серверу MySQL с этими параметрами, это не должно иметь ничего общего с веб-сервером.

4. Выбор ODBC довольно странный, он появляется здесь крайне редко. Большинство PHP-кода MySQL по умолчанию должны использовать PDO или что-то лучше, поэтому стоит проверить это, если вам когда-нибудь понадобится сделать что-то еще.