(Первый вопрос, извините, если это не имеет смысла). Пытаясь получить данные для всех пользователей, принадлежащих к той же компании, что и текущий пользователь, используя переменные сеанса, чтобы получить название компании, которое работает нормально, $ company имеет правильное значение в it.
$company = $_SESSION['company'];
Если я запускаю обычный оператор SELECT WHERE, он прекрасно работает:
$sql = "SELECT FirstName, SecondName, Progress FROM progress WHERE Company = ''";
$result = $conn->query($sql);
Это выводит правильные результаты из базы данных. Однако, когда я пытаюсь сделать это подготовленным оператором, он не дает никаких результатов:
$sql = $conn->prepare("SELECT FirstName, SecondName, Progress FROM progress WHERE Company = ?");
$sql->bind_param("s", $company);
Вот весь фрагмент кода с закомментированным рабочим запросом:
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$company = $_SESSION['company'];
// $sql = "SELECT FirstName, SecondName, Progress FROM progress WHERE Company = ''";
// $result = $conn->query($sql);
$sql = $conn->prepare("SELECT FirstName, SecondName, Progress FROM progress WHERE Company = ?");
$sql->bind_param("s", $company);
$sql->bind_result($result);
$sql->execute();
$sql->fetch();
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo "Name: " . $row["FirstName"]. " " . $row["SecondName"]. " - Progress: " . $row["Progress"]. "<br>";
}
} else {
echo "0 results";
}