Оператор IN

BabyKiller

Guest
Оператор IN

Использую пример, взятый из http://www.mysql.ru/docs/gruber/mg05.html
[sql]SELECT * FROM Customers WHERE cnum IN ( 1001, 1007, 1004 );[/sql]
Хачу знать почему не работает, или это только у меня так.

PS: Причём все предыдущие операции проводились с успехом!
 

BabyKiller

Guest
icechel
`cnum` smallint(5) UNSIGNED

crocodile2u
Ошибки как таковой нету, просто таблица пустая возварщается.
Я пользуюсь вот таким самописным скриптом, для изучения SQL. Вроде возвращает результат привльно.

PHP:
<FORM action="sql.php" method="POST">
<textarea rows="10" cols="100" name="string"><?=@$string?></TEXTAREA><BR>
<INPUT type="submit">
</FORM>
<P>
<FONT face="Courier New">
<TABLE border="1" width="100%" rules="cols">
<?
$dbhost='localhost';
$dbusername='root';
$dbpass='';
$dbname='test';
$dbconnect=@mysql_connect($dbhost,$dbusername,$dbpass);
if(!$dbconnect)echo '<H1>Не могу подключиться к серверу базы данных!</H1>';
if(!@mysql_select_db($dbname))die("<H2>Не могу подключиться к базе данных $dbname!</H2><BR>");
if(isset($string))
{
	if($result=mysql_query($string)){?>
<TR><TD colspan="<?=@$num_fields=mysql_num_fields($result)?mysql_num_fields($result):'1'?>" align="center"><B>Запрос удачно выполнен<B></TD></TR>
<?}else{?>Запрос потерпел неудачу<BR><B><?=mysql_errno()?>:<?=mysql_error()?></B></TABLE><?exit;}
	if(!@$num_fields=mysql_num_fields($result))exit;
	?><TR><?
	for($i=0;$i<$num_fields;$i++){?><TD><B><?=mysql_field_name($result,$i)?><B></TD><?}
	?></TR>
<?	while($fetch_row=mysql_fetch_row($result))
	{
		?><TR><?
		for($i=0;$i<$num_fields;$i++){?><TD><?=$fetch_row[$i]?></TD><?}
		?></TR>
<?	}
}
?>
</TABLE>
</FONT>
</P>
-~{}~ 10.01.05 22:30:

Всё, проблему сам решил, просто очередная опечатка, не cnum а snum.
Кстати мой скрипт для всех случаев работоспособен?
 

Фанат

oncle terrible
Команда форума
BabyKiller
зачем тебе этот дурацкий скрипт?
запусти консоль mysql и делай все там
 

Wicked

Новичок
А что возвращает
[SQL]SELECT *
FROM Customers[/SQL]

-~{}~ 10.01.05 19:35:

Originally posted by Фанат
BabyKiller
зачем тебе этот дурацкий скрипт?
запусти консоль mysql и делай все там
Зачем эта дурацкая консоль? Запусти EMS MySQL Manager (или аналоги) и делай все там :)
 

Wicked

Новичок
Фанат, С чего ты сделал выводы о том, что я "шагу не могу ступить бла-бла-бла" ? :) Я абсолютно нормально себя ощущаю в консолях.
А благодаря "гуёвым подпоркам" я экономлю хучу времени, в результате чего повышается удельная стоимость моего рабочего времени. Либо появляется больше свободного времени, которое я могу, например, потратить на препирания с некоторыми упертыми личностями с phpclub.ru %)
 

Фанат

oncle terrible
Команда форума
я сделал такой вывод потому, что ты противопоставляешь свои гуи удобной, доступной, совместимой, кроссплатформенной консоли. О существовании которой надо хотя бы знать.
и в которой посмотреть результат простого запроса гораздо быстрее, чем в этих громадах. И которую надо сначала освоить, чтобы понимать потом, что бы делаешь в гуях.

Только вот некоторые новички пхпклуба не умеют видеть дальше своего носа, и советуют всем вокруг то, что удобно им.
 

Wicked

Новичок
Originally posted by Фанат
я сделал такой вывод потому, что ты противопоставляешь свои гуи удобной, доступной, совместимой, кроссплатформенной консоли.
Твои аргументы не соответствуют выводам. Я бы сказал наоборот: если уж я осмелился противопостовлять свую гую "удобной, доступной, совместимой, кроссплатформенной консоли", то я довольно неплохо знаю и то, и другое, и сделал правильные (по крайней мере для меня) выводы, что из этого юзабельнее.
и в которой посмотреть результат простого запроса гораздо быстрее, чем в этих громадах.
Лично для меня примерно одинаково %)
И которую надо сначала освоить, чтобы понимать потом, что бы делаешь в гуях.
А вот тут поподробнее ) Имхо незнание консоли еще никому не мешало пользоваться гуями. Гораздо губительнее незнание SQL (MySQL).
Только вот некоторые новички пхпклуба не умеют видеть дальше своего носа, и советуют всем вокруг то, что удобно им.
Прошу заметить, что (новичок PHPClub'а != новичок PHP) && (новичок PHPClub'а != новичок MySQL).
 

BabyKiller

Guest
Автор оригинала: Фанат
зачем тебе этот дурацкий скрипт?
Очередная практика :) А что, плохо получилось? Стиль нормальный?

запусти консоль mysql и делай все там
Я использую пакет Денвер-2 и при запущенном сервере при запуски mysql.exe выдаёт ошибку:
mysql: File 'C:\mysql\\share\charsets\?.conf' not found (Errcode: 2)
mysql: Character set '#14' is not a compiled character set and is not specified
in the 'C:\mysql\\share\charsets\Index' file
ERROR 1045: Access denied for user: 'ODBC@localhost' (Using password: NO)

Раньше, когда сам сервер ручками ставил, нормально запускал и работал с mysql.
И вообще есть ли особый смысл? Можно ли в коммандую строку вставлять запросы а потом редактировать как в <TEXTAREA>?? Или всё же лучше привыкать к mysql-консоли?
 

Фанат

oncle terrible
Команда форума
Стиль нормальный?
отвратительный.
Я использую пакет Денвер-2 и при запущенном сервере при запуски mysql.exe выдаёт ошибку
что-то мне очень слабо верится.
Разве что у тебя какой-то фантастический my.cnf
И вообще есть ли особый смысл? Можно ли в коммандую строку вставлять запросы а потом редактировать как в <TEXTAREA>??
построчно - нельзя. в одной строке - можно.
В принципе, бОльшая часть программистов пользуются консолью. поскольку это просто и удобно.
С другой стороны, пользоваться можно чем угодно. Запрещать тебе никто не будет.
Есть только одна проблема. Если ты пользуешься чем-то кривым, то и за ответсами на форкм, как ты понимаешь, бегать не имеет смысла. Тебе просто никто не ответит - какие проблемы есть в ТВОЕм скрипте. или в какой-нибудь замороченной краденой утилите, товарища не новичка, количество пользователей которой весьма ограничено.
 

BabyKiller

Guest
Автор оригинала: Фанат
отвратительный.
Чем плох? Что нужно подправить, пока не поздно.

что-то мне очень слабо верится.
Разве что у тебя какой-то фантастический my.cnf
Я ничего не трогал, не менял. Денвер стоит версии от 5-го января.

построчно - нельзя. в одной строке - можно.
В принципе, бОльшая часть программистов пользуются консолью. поскольку это просто и удобно.
Ну как хотябы включить эту консоль?
А то что построчный ввод, это минус (для меня).
 

BabyKiller

Guest
mysql: File 'C:\mysql\\share\charsets\?.conf' not found (Errcode: 2)
mysql: Character set '#14' is not a compiled character set and is not specified
in the 'C:\mysql\\share\charsets\Index' file
ERROR 1045: Access denied for user: 'ODBC@localhost' (Using password: NO)
Проблема была решена запуском консоли с параметрами "-u root"
 
Сверху