ок. У парней большие проблемы и они не могут понять, что происходит.
Пожалуйста, помогите.
Прежде всего, у меня есть класс подключения к БД:
private $localhost = DB_LOCALHOST;
private $db = DB_DATABASE;
private $user = DB_USER;
private $password = DB_PASSWORD;
protected $link ;
function __construct()
{
$this->link = mysql_connect($this->localhost,$this->user,$this->password) or die(mysql_error()."<br/>".mysql_errno());
mysql_query("SET NAMES ".DB_CHARSET , $this->link) or die(mysql_error()."<br/>".mysql_errno());
mysql_select_db($this->db, $this->link)or die(mysql_error()."<br/>".mysql_errno());
if($this->link===false)
die("Didn't connect to DB");
}
function sql_query($q)
{
$r = mysql_query($q, $this->link) or die ("DATABASE ERROR! Please, contact the administrator.".mysql_error().);
return $r;
}
function __destruct()
{
mysql_close($this->link);
}
}
затем я использую его в другой функции:
function del_meal($id_meal)
{
$db_s = new DBConnect();
$db_s->sql_query("DELETE FROM `pictures` WHERE `id_target` = '{$id_meal}' AND `type` = 'meal';");
$db_s->sql_query("DELETE FROM `meal_ingredient` WHERE `id_meal` = '{$id_meal}';");
$db_s->sql_query("DELETE FROM `meal` WHERE `id_meal` = '{$id_meal}';");
unset($db_s);
$pictures = $this->select_pictures($id_meal,'meal');
if(count($pictures)>0)
{
foreach($pictures as $pic)
{
if(file_exists("./pictures/meal/{$pic}"))
{
unlink("./pictures/meal/{$pic}");
unlink("./pictures/meal/thumb/{$pic}");
}
}
}
}
function del_category($id_category)
{
$db = new DBConnect();
$id_category = $db->safe_var($id_category);
$q = $db->sql_query("SELECT * FROM `meal` WHERE `id_category` ='{$id_category}' ");
while($res = mysql_fetch_assoc($q))
{
$this->del_meal($res['id_meal']);
}
$db->sql_query("DELETE FROM `meal_category` WHERE `id_category` = '{$id_category}' ");
unset($db);
}
хорошо - вот safe_var ()
function safe_var($var)
{
$var = stripslashes($var);
$var = trim($var);
$var = strip_tags($var);
$var = mysql_real_escape_string($var);
$var = htmlspecialchars($var);
$var = nl2br($var);
return $var;
}
Итак, когда я использую функцию «просто еда» - все хорошо, но когда я использую категорию «дель» -
Я получаю "Предупреждение: mysql_query (): 7 не является допустимым ресурсом MySQL-Link в DBConnect.php в строке 33
ОШИБКА БАЗЫ ДАННЫХ! Пожалуйста, свяжитесь с администратором. "
В чем может быть причина. Кто-нибудь может мне помочь?