|
|
|
| не работает select!!!!
есть тб room с полями id_room, box (text), nomer(text), mest (int).
методом get получаю переменные $roomx и $korpus. Переменная $roomx содержит числа и буквы, например 111а.
пишу запрос:
$sql="SELECT * FROM `room` WHERE box='".$korpus."' AND nomer='".$roomx."'";
не осуществляет выборку((( помогите народ!!! | |
|
|
|
|
|
|
|
для: laki
(23.04.2010 в 18:45)
| | может нада убедиться что через GET переменные дейсвительном получаются и не пустые и учитывается регистр текста!? | |
|
|
|
|
|
|
|
для: laki
(23.04.2010 в 18:45)
| | Вы уверены, что в бд есть записи, удовлетворяющие условию? | |
|
|
|
|
|
|
|
для: neadekvat
(23.04.2010 в 18:57)
| | да. данные есть 100% | |
|
|
|
|
|
|
|
для: laki
(23.04.2010 в 18:45)
| | Для начала неплохо вывести то, что в $sql получилось. | |
|
|
|
|
|
|
|
для: Trianon
(23.04.2010 в 19:01)
| | <?php
$roomx=$_GET['nom'];
$korpus=$_GET['korp'];
$server="localhost";
$dbname="rasp";
$username="root";
$userpass="";
$servcon=mysql_connect($server,$username,$userpass);
mysql_query("SET NAMES utf8");
mysql_select_db($dbname,$servcon);
$sql="SELECT * FROM `room` WHERE box='".$korpus."' AND nomer='".$roomx."'";
$res=mysql_query($sql, $servcon);
print "<table BORDER=3 ALIGN=CENTER VALIGN=CENTER >";
while ($rs=mysql_fetch_array($res))
{
print " <tr><td>ID-".$rs['id_room'] ."</td><td> BOX-".$rs['box'] ."</td><td> Nomber-".$rs['nomer'] ."</td></tr>";
}
print "</table>";
print $_GET['korp']."-". $_GET['nom'];
?>
это весь скрипт, все довольно примитивно, но что-то не работает... | |
|
|
|
|
|
|
|
для: Trianon
(23.04.2010 в 19:01)
| | прописала
print $res; вот что получилось - Resource id #3 | |
|
|
|
|
|
|
|
для: Trianon
(23.04.2010 в 19:01)
| | делаю print $sql; в результате
SELECT * FROM `room` WHERE box='Б' AND nomer='111 | |
|
|
|
|
|
|
|
для: laki
(23.04.2010 в 19:26)
| | И Вам не кажется, что запрос оборван? | |
|
|
|
|
|
|
|
для: Trianon
(23.04.2010 в 19:37)
| | не хватает вконце одной кавычки - ', это имеется ввиду?
но не могу найти в запросе ошибку!!! и еще раз говорю - меняю в таблице для поля nomer тип на int - все работает((, но этот тип мне не подходит, т.к. в поле могут быть и буквы | |
|
|
|
|
|
|
|
для: laki
(23.04.2010 в 19:44)
| | А если написать так:
$sql="SELECT * FROM `room` WHERE box='$korpus' AND nomer='$roomx' ";
А вообще стоп, если поле числовое - зачем обрамлять в кавычки?
Перед подстановкой в бд преобразуйте в численный тип и подставляйте без кавычек: AND nomer=$roomx | |
|
|
|
|
|
|
|
для: neadekvat
(23.04.2010 в 20:15)
| | тип поля текстовый, но в нем числа либо число и текст, например 121 или 121а | |
|
|
|
|
|
|
|
для: laki
(23.04.2010 в 18:45)
| | переменные не пусты - отдельно вывожу - все ок.
если меняю в бд для поля nomer тип на int - то все отлично работает. Не хочет с текстовым полем работать(( | |
|
|
|
|
|
|
|
для: laki
(23.04.2010 в 19:11)
| | Так введите этот запрос в ПМА -->SQL
SELECT * FROM `room` WHERE `box`='Б' AND `nomer` =111
и посмотрите, что он вам ответит. | |
|
|
|
|
|
|
|
для: oliss
(23.04.2010 в 20:20)
| | ввожу запрос в sql редакторе - все норм, прям мистика какая-то!! | |
|
|
|
|
|
|
|
для: laki
(23.04.2010 в 22:25)
| | мб вы с кодировкой чего напутали? | |
|
|
|
|
|
|
|
для: neadekvat
(23.04.2010 в 23:06)
| | в таблице кодировка
mysql_query("SET NAMES utf8");
а в GET такае же? | |
|
|
|
|
|
|
|
для: neadekvat
(23.04.2010 в 23:06)
| | над кодировкай как раз думаю | |
|
|
|
|
|
|
|
для: laki
(23.04.2010 в 18:45)
| | все, проблема решена!!! юююххххуууу!!!!!!!!
$roomx=substr($_GET['nom'], 0, -8);
$korpus=$_GET['korp'];
вот и все) по крайней мере работает! | |
|
|
|
|
|
|
|
для: laki
(26.04.2010 в 10:51)
| | Вы можете четко сформулировать причину отказа корректной работы (т.е. работать так, как вы бы хотели) до ваших действий и после? И что именно вы сделали, назвать можете?
Если хотя бы на один вопрос ответ "нет" - выкидываете нахрен и капаете с самого начала. А то вот так и начинают рождаться программы "тута ничо не трогать, тьфу-тьфу работает". | |
|
|
|