FATAL ERROR: Uncaught Error: вызов функции execute () для логического значения в

Я знаю, что есть несколько тем, обсуждающих это, но, к сожалению, я не могу заставить его работать на меня. Я мог бы наблюдать за чем-то.

Я получил следующий код:

function get_kurs($block){
open_connection();
global $conn;

$stmt = $conn->prepare("SELECT FachKürzel FROM `Fach` LEFT JOIN `Stunde` ON Fach.Fachname = Stunde.Fachname WHERE Stunde.Stunde = ?");
$stmt->bind_param("s", $block);
$stmt->execute();
$stmt->bind_result($kuerzel);
$stmt->fetch();

print $kuerzel;

$stmt->close();
$conn->close();
}

Когда я пытаюсь выполнить это, я получаю описанную ошибку. Я думаю, что это может иметь какое-то отношение к запросу, но выполнение точно такого же запроса в HeidiSQL для той же базы данных дает мне желаемый результат.

Соединение работает, так как я могу получить простые запросы для отображения результатов на моем веб-сайте.

Есть идеи?
Заранее спасибо!

Изменить: На случай, если это важно:

function open_connection(){
$servername = "XXX.XXX.XXX.XXX";
$username = "username";
$password = "password";
$dbname = "XXXX";

global $conn;
$conn = new MySQLi($servername, $username, $password, $dbname);

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
}

1

Решение

Функции prepare могут возвращать объект оператора или false. Если вы получили ложное значение, это означает, что произошла ошибка.

Попробуйте напечатать ошибку с $conn->errno или же $conn->error, чтобы лучше понять, в чем ваша проблема.

Вы можете изменить свой код на что-то вроде этого:

function get_kurs($block){
open_connection();
global $conn;

if($stmt = $conn->prepare("SELECT FachKürzel FROM `Fach` LEFT JOIN `Stunde` ON Fach.Fachname = Stunde.Fachname WHERE Stunde.Stunde = ?")){
$stmt->bind_param("s", $block);
$stmt->execute();
$stmt->bind_result($kuerzel);
$stmt->fetch();
}else{
printf('errno: %d, error: %s', $conn->errno, $conn->error);
die;
}

print $kuerzel;

$stmt->close();
$conn->close();
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector