Я изменил некоторые из моих старых запросов на платформу Mysqli для повышения производительности. На localhost все работает нормально, но когда я загружаю его на веб-сервер, он ничего не выводит. После подключения проверяю на ошибки и их нет. Я также проверил установленные модули php и включил mysqli.
Я уверен, что он создает соединение с базой данных, поскольку ошибки не отображаются. (когда я изменил строку имени базы данных, это дало ошибку)
Нет запроса на веб-сервере, который выглядит следующим образом:
$mysqli = new mysqli("server", "user", "password");
if (mysqli_connect_errno()) {
printf("Can't connect Errorcode: %s\n", mysqli_connect_error());
exit;
}
// Query used
$query = "SELECT name FROM users WHERE id = ?";
if ($stmt = $mysqli->prepare("$query"))
{
// Specify parameters to replace '?'
$stmt->bind_param("d", $id);
$stmt->execute();
// bind variables to prepared statement
$stmt->bind_result($_userName);
while ($stmt->fetch())
{
echo $_userName;
}
$stmt->close();
}
}
//close connection
$mysqli->close();
Как я уже сказал, этот код прекрасно работает на моем локальном сервере, но не в сети. Проверил журналы ошибок и ничего нет, поэтому все указывает на хорошее соединение. Также существуют все таблицы и т. Д. У кого-нибудь есть идеи, потому что этот застрял! Кроме того, если я получу эту работу, все остальные мои запросы все еще будут работать? Или мне нужно будет заставить их использовать среду mysqli? Заранее спасибо.
EDIT:
Хорошо, я сделал некоторую «отладку», чтобы посмотреть, что происходит. В таблице есть данные, к которым я обращаюсь, которые соответствуют запросу. Чтобы проверить оператор подготовки, я сделал следующее:
echo "debug 1";
if ($stmt = $mysqli->prepare("$shiftQuery"))
{
echo "debug 2";
printf("Error: %s.\n", $stmt->error);
etc...
}
Таким образом, в основном он должен вывести «debug 1» до того, как будет подготовлен устав (что он и делает). Затем после него выведите «debug 2» и все ошибки, которые произошли.
Проблема здесь где-то, поскольку она не достигает строки отладки 2 в операторе IF. Поскольку детали подключения в порядке, я не могу понять, почему объект $ mysqli не будет создан. Что дать кому-нибудь дальнейшие идеи ???
спасибо