File_exist показывает ошибку в Ubuntu / PHP - PullRequest
0 голосов
/ 05 июля 2011

Я новичок в Linux / Ubuntu, поэтому, если я сделаю какую-нибудь глупую ошибку, пожалуйста, прости меня.
Мой код отлично работает в XP, но не в Ubuntu 11.04 (та же версия PHP / MySQL)

<?php
  if (!isset($_SESSION['uid'])) {
    header('Location:index.php');
    exit;
  } else {
    if (file_exists("profile_pic/".$_SESSION['uid'].".jpg")) {
      echo '<a href="'.$SitePath.'profile.php?id='.$_SESSION['uid'].'"><img src="'.$SitePath.'profile_pic/'.$_SESSION['uid'].'.jpg" alt="'.$_SESSION['name'].'" title="Me" border="0"/></a>';
    } else {
  echo '<a href="'.$SitePath.'profile.php?id='.$_SESSION['uid'].'"><img src="'.$SitePath.'profile_pic/nopic.jpg" alt="'.$_SESSION['name'].'" title="Me" border="0" /></a>';
  }  
?>

Если файл существует с именем $_SESSION['uid'].".jpg", покажите его, иначе покажите изображение по умолчанию.

Ошибка, которую я получаю

Исправляемая фатальная ошибка: объект класса mysqli_stmt не может быть преобразован в строку

Ответы [ 2 ]

3 голосов
/ 05 июля 2011

Вы не показываете никаких операций с базой данных, но, скорее всего, у вас есть что-то вроде:

$_SESSION['uid'] = mysqli_query("SELECT uid FROM ...");

везде, где вы инициализируете данные сеанса. Это неверно Функции запроса возвращают дескриптор оператора, из которого вы можете получить данные. В псевдокоде это будет:

$result = mysqli_query(...);
$row = $result->fetch();
$_SESSION['uid'] = $row['uid'];
1 голос
/ 05 июля 2011

попробуй print_r ($ _ SESSION ['uid']) это даст вам подсказку, что это, скорее всего, как сказал Марк Б

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...