PHP: невозможно получить доступ к переменной $ db в области видимости функции

Я создал функцию, чтобы проверить, существует запись или нет, но она дает мне следующие ошибки:

Примечание: неопределенная переменная: db в D: \ wamp \ www \ Whq \ admin_operation.php в строке 31

Неустранимая ошибка: вызов функции-члена query () для необъекта в D: \ wamp \ www \ Whq \ admin_operation.php в строке 31

if($mode=='add_image')
{    $tags_array = array();
$tags = $_POST['tags'];

/*function to check tag exist or not */
function check_tag_exist($t)
{
$result = $db->query('select tag_name from whq_tags where tag_name like "'.$t.'" ');
$no=$result->num_rows;
if($no==0)
{
return true;
}
else
{
return false;
}

}
/* prepared stmnt created for whq_tags table */
if($stmt = $db->prepare('insert into whq_tags(tag_name) values (?)'))
{

$stmt -> bind_param('s', $tags_name);

foreach($tags as $tag1)
{
$tag1 = $tags_name;

if(check_tag_exist($tags_name))
{
$db->execute();
}
}

/* Close the statement */
$stmt->close();

}
else
{
/* Error */
printf("Prepared Statement Error: %s\n", $db->error);
}
}

Переменная $ db внутри функции check_tag_exist не работает, а работает в других местах. Пожалуйста, помогите мне.
Заранее спасибо.

0

Решение

эта переменная не доступна в вашей функции из-за области видимости переменной.

читать дальше переменная область из PHP документов.

Вы можете передать переменную $ db в функцию в качестве параметра:

function check_tag_exist($t, $db) { ... }
2

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

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

По вопросам рекламы [email protected]