我已经创建了一个函数来检查记录是否存在,但它给了我这些错误:
注意:未定义的变量:第31行的D:\ wamp \ www \ Whq \ admin_operation.php中的db
致命错误:在第31行的D:\ wamp \ www \ Whq \ admin_operation.php中调用非对象的成员函数query()
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);
}
}
check_tag_exist函数中的变量$ db不起作用,而它在其他地方工作。请帮帮我。 提前谢谢。
答案 0 :(得分:2)
由于范围可变,您的函数无法访问该变量。
从PHP文档中阅读variable scope。
您可以将$ db变量作为参数传递给函数:
function check_tag_exist($t, $db) { ... }