#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 или что-то лучше, поэтому стоит проверить это, если вам когда-нибудь понадобится сделать что-то еще.