Невероятная ситуация с базами и запросами SQL

pageDownZZ

Новичок
У меня есть таблица pokypkadacha. Делаю к ней запрос $query = "SELECT * FROM pokypkadacha WHERE (id = '$id') and (def1 = '$oper') ";
выводит ошибку Table 'reelter.pokypadacha' doesn't exist. Почему то седаеться буква "k" заменяешь её например на "с" тесть запрос получается $query = "SELECT * FROM pokypCadacha WHERE (id = '$id') and (def1 = '$oper') "; выводит ошибку Table 'reelter.pokypcadacha' doesn't exist. тоесть другие буквы видет но почему не видеть букву "K"?

База тут не причём до неё дело даже не доходит, дело в том что сам запрос меняеться и по этому некоректно проходит, вот например одно из условий с эдинтичным запросом
if ($oper == 'Сдать') {

$query = "SELECT * FROM pokypkadacha WHERE (id = '$id') and (def1 = '$oper') ";
}

работает корректно!
 

baev

‹°°¬•
Команда форума
pageDownZZ: http://phpfaq.ru/debug
— особо обратите внимание на то, что надо показывать реальные запросы к базе, а не php-код.
 

pageDownZZ

Новичок
я имею ввиду если этот же запрос напрямую отправлять mysql то всё работает, а если выполнять php код то вылазиет вот такая беда
 

HEm

Сетевой бобер
обратите внимание на строку, в которой происходит ошибка (в сообщении об ошибке строка указана), если там используется переменная вместо собственно запроса - найдите выше по коду место, где она формируется
 

pageDownZZ

Новичок
да в том то и дело что там даже переменная не используется, там тупо одна строкаи всё, хотя ниже такая же в точности строка которая нормально срабатывает, но у неё другое условие выполнения1
PHP:
if ($oper == 'Продать') {

$query = "SELECT * FROM prodajadacha WHERE (id = '$id') and (def1 = '$oper')";
}
if ($oper == 'Купить') {

$query = "SELECT * FROM `pokypkadacha`  WHERE (id = '$id') and (def1 = '$oper') ";
}



if ($oper == 'Снять') {

$query = "SELECT * FROM pokypkadacha  WHERE (id = '$id') and (def1 = '$oper') ";
}

if ($oper == 'Сдать') {

$query = "SELECT * FROM prodajadacha WHERE (id = '$id') and (def1 = '$oper') ";
}
 

HEm

Сетевой бобер
echo $query;
перед выполнением запроса что показывает?
 

pageDownZZ

Новичок
Вот оно самое забавное
SELECT * FROM `pokypkadacha` WHERE (id = '1') and (def1 = 'Купить') Table 'reelter.pokypadacha' doesn't exist
 

pageDownZZ

Новичок
если удалить таблицу из базы данных то
SELECT * FROM `pokypkadacha` WHERE (id = '1') and (def1 = 'Купить') Table 'reelter.pokypkadacha' doesn't exist
 

HEm

Сетевой бобер
mysql_query там или какая то сторонняя функция?
 

HEm

Сетевой бобер
сделайте скрипт в 5 строк - коннект к базе, выполнение запроса, вывод пары первых результатов или ошибки
 

pageDownZZ

Новичок
Вот такой запрос работает нормально
PHP:
<?
include("../config.php");
$link = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbname, $link);
$query = "SELECT * FROM `pokypkadacha`  WHERE (id = '1') and (def1 = 'Купить') ";
$res = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($res);
echo($row['Naspunkt']);
?>
 

Adelf

Administrator
Команда форума
Эти долбанутые транслитные имена таблиц, переменных и остальных объектов кода никогда не приводят к чемуто хорошему.
 

Вурдалак

Продвинутый новичок
Adelf, у него очень сильное утверждение: будто он пишет в запросе одну таблицу, а ошибку выдаёт на другую. Я считаю, что тут бессмысленно что-то обсуждать: пусть займётся отладкой.
 
Сверху