powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не работает bind_param
5 сообщений из 5, страница 1 из 1
Не работает bind_param
    #39258247
megabax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Помогите, пожалуйста, разобраться со странной проблемой. Выполняю вот такой код:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
	$mysqli->query('SET NAMES utf8');	
	
	$query = "insert into ep_groups(name) values (?)";
	try {
		$stmt = $mysqli->prepare($query);	
	} catch (Exception $exc) {
		//echo $query."\n".$stmt->errorInfo();
		echo "ERROR PREPARE";
	}
	echo $mysqli->errno." ".$mysqli->error."<br>";
	$s="Sdfwef";
	//echo $mysqli;
	try {
		$stmt->bind_param('s',$s);
	} catch (Exception $exc) {
		echo "ERROR BP ".$exc;
	}	
	
	echo "sdfsdf";


И почему то на $stmt->bind_param('s',$s); вываливается в ошибку 500.
Есть подозрение, что просто не создается объект в строке $stmt = $mysqli->prepare($query);, так как echo $stmt; ничего не возвращает. Но строка echo $mysqli->errno." ".$mysqli->error."<br>"; тоже ничего не выводит, то есть, ошибки нет.
Подскажите пожалуйста, где еще можно копать?
...
Рейтинг: 0 / 0
Не работает bind_param
    #39258279
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megabaxвываливается в ошибку 500Смотрите логи вебсервера, подробности по 500 ошибке туда обычно падают.

megabaxЕсть подозрение, что просто не создается объект в строке $stmt = $mysqli->prepare($query);, так как echo $stmt; ничего не возвращает.Используйте var_dump(), она показывает гораздо больше подробностей, нежели echo.

А по сути, алгоритм построен неправильно. Если нет ресурса в $stmt (если $mysqli->prepare вернуло false) то и нефиг искать у этого false какие-то методы.
...
Рейтинг: 0 / 0
Не работает bind_param
    #39258296
megabax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,
сделал вот так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
	$mysqli->query('SET NAMES utf8');	
	
	$query = "insert into ep_groups(name) values (?)";
	try {
		$stmt = $mysqli->prepare($query);	
	} catch (Exception $exc) {
		//echo $query."\n".$stmt->errorInfo();
		echo "ERROR PREPARE";		
	}
	var_dump($stmt);
	echo "<br>";
	if(!$stmt)
	{
		echo "НЕ выполнилось prepare ".$mysqli->errno." ".$mysqli->error."<br>";
		return;
	}
	$s="Sdfwef";
	//echo $mysqli;
	try {
		$stmt->bind_param('s',$s);
	} catch (Exception $exc) {
		echo "ERROR BP ".$exc;
	}



Теперь выдает
"
NULL
НЕ выполнилось prepare
"
То есть, все таки prepare не работает. И где дальше искать?
...
Рейтинг: 0 / 0
Не работает bind_param
    #39258315
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что в $mysqli, вообще, сидит?
...
Рейтинг: 0 / 0
Не работает bind_param
    #39258386
megabax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,
var_dump($mysqli); выдает "object(mysqli)#2 (0) { } "
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не работает bind_param
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]