Я разработал веб-сайт с именем vishwasthali.orgна PHP и разместил его в IIS7. ] на стороннем сервере. Все остальное работает нормально, за исключением кода для доступа к базе данных, который я написал с использованием MySQLiAPI. Код отлично работает на локальном хосте, но не на сервере. Используя phpinfo()
на сервере и моей машине, я обнаружил, что:
(1) На моей машине (работает в 32-разрядной версии Windows 7, среда размещения Apache) версия PHP 5.3.8, а версия mysqli — 5.0.8-devи
(2) На сервере (работает на Windows Server 2008, среда размещения IIS7) версия PHP 5.2.14и версия mysqli 5.0.51a.
Вот скриншоты phpinfo()
на сервере:
Вот пример кода mysqli.
session_start();
include_once 'code_files/conn.php';
$stmt = $mysqli->prepare('SELECT * FROM adminusers WHERE Username = ? AND `Password` = ?');
$stmt->bind_param('ss', $_POST['Username'], $_POST['Password']);
$stmt->execute();
$result = $stmt->get_result();
if($result->num_rows > 0)
........
else
........
Использование echo get_class($mysqli);
действительно отображает mysqli. Это означает, что код обнаруживает mysqli. Но оператор $stmt
не подготовлен. Даже $mysqli->error;
не отображает никаких ошибок, возможно, из-за того, что PHP работает в IIS.
Теперь у меня есть два варианта: либо изменить код для доступа к базе данных на классический mysqlAPI, либо обновить версии PHP и MySQLi на сервере, загрузив последние двоичные файлы PHP из php. сеть. Я не хотел бы использовать первый вариант (который определенно работает), надеюсь, вы знаете, почему. Последний не в моих руках. Не могу думать ничего больше, чем это.
Я полагаю, что замена php_mysqli.dll может обновить версию mysqli, но не уверен. А как насчет версии PHP?
Что я могу сделать в этом случае. Решит ли мою проблему обновление версий PHP и MySQLi на сервере? Если ДА, может ли это повлиять на другие веб-сайты PHP, работающие на сервере?
Заранее спасибо.