|
|
|
| Ерунда какая-то...В общем пытаюсь найти в таблице пользователя по нику, ввожу один (даже через phpMyAdmin), но мне выдает совершенно другой...=/
Что может быть? Не знаете? =/
"Поиском" называю в данном случае всего лишь
<?php
$sql = mysql_query("SELECT * FROM `chat_users` WHERE `nickname` = '".$nickname."';");
?>
|
CREATE TABLE `chat_users` (
`id` int(11) unsigned NOT NULL auto_increment,
`nickname` tinytext NOT NULL,
`password` tinytext NOT NULL,
`ip` tinytext NOT NULL,
`ua` text NOT NULL,
`level` tinyint(1) NOT NULL default '0',
`photo` tinytext NOT NULL,
`invisible` tinyint(1) NOT NULL default '0',
`status` tinytext NOT NULL,
`kick` int(11) unsigned NOT NULL default '0',
`moder` tinytext NOT NULL,
`reason` text NOT NULL,
`ban` tinyint(1) NOT NULL default '0',
`name` tinytext NOT NULL,
`sex` tinyint(1) NOT NULL default '0',
`email` text NOT NULL,
`site` text NOT NULL,
`birthday` tinytext NOT NULL,
`from` text NOT NULL,
`mobile` tinytext NOT NULL,
`about` text NOT NULL,
`posts` int(11) NOT NULL default '0',
`answers` int(11) NOT NULL default '0',
`gbalans` int(11) NOT NULL default '0',
`smiles` tinyint(1) NOT NULL default '1',
`translit` tinyint(1) NOT NULL default '0',
`msgs` tinyint(2) NOT NULL default '5',
`refresh` tinyint(3) unsigned NOT NULL default '20',
`fsize` tinyint(1) NOT NULL default '1',
`security` tinyint(1) NOT NULL default '1',
`place` mediumint(9) NOT NULL default '0',
`time` int(11) unsigned NOT NULL default '0',
`intim` int(11) unsigned NOT NULL default '0',
`key` tinytext NOT NULL,
`regdate` tinytext NOT NULL,
`hidden` tinyint(1) NOT NULL default '0',
`mood` tinyint(2) NOT NULL default '0',
`emotions` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;
|
| |
|
|
|
|
|
|
|
для: Unkind™
(29.08.2006 в 02:41)
| | а зачем точка с запятой в конце? в мануале по этому поводу сказано довольно точно.
$sql = mysql_query("SELECT * FROM `chat_users` WHERE `nickname` = " . $nickname);
|
попробуйте так | |
|
|
|
|
|
|
|
для: RV
(29.08.2006 в 04:52)
| | Эта... а кавычки вокруг текстовой переменной отменили уже? | |
|
|
|
|
|
|
|
для: Loki
(29.08.2006 в 10:04)
| | ковычки, текстовые переменные. кошмар.
плейсхолдеры для кого придумали. давно пора писать код более читабельным.
а этот написан для примера. | |
|
|
|
|
|
|
|
для: RV
(29.08.2006 в 11:34)
| | а каким местом плейсхолдеры к sql запросам относятся? | |
|
|
|
|
|
|
|
для: Loki
(29.08.2006 в 12:51)
| | самым передним или самым главным. я незнаю как правильней. | |
|
|
|
|
|
|
|
для: RV
(29.08.2006 в 12:58)
| | Не покажете на примере, как запрос с ошибкой
SELECT * FROM `chat_users` WHERE `nickname` = имя
|
превращается в запрос без ошибки?
SELECT * FROM `chat_users` WHERE `nickname` = 'имя'
|
При помощи плейсхолдеров, понятное дело. | |
|
|
|
|
|
|
|
для: Loki
(29.08.2006 в 13:09)
| |
<?
sql_placeholder('SELECT * FROM chat_users WHERE nickname = ?', $_POST['nickname']);
?>
|
| |
|
|
|
|
|
|
|
для: RV
(29.08.2006 в 13:14)
| | теперь попробуйте это скормить БД
и, кстати, как выглядит итоговый запрос? | |
|
|
|
|
|
|
|
для: Loki
(29.08.2006 в 13:15)
| | что значит скормить бд?
<?
$_POST['nickname'] = "Vasia";
echo sql_placeholder('SELECT * FROM chat_users WHERE nickname = ?', $_POST['nickname']);
?>
SELECT * FROM chat_users WHERE nickname = 'Vasia'
|
| |
|
|
|
|
|
|
|
для: RV
(29.08.2006 в 13:20)
| | теперь сравните ваше
$sql = mysql_query("SELECT * FROM `chat_users` WHERE `nickname` = " . $nickname);
|
и
SELECT * FROM chat_users WHERE nickname = 'Vasia'
|
пальцем тыкать? | |
|
|
|
|
|
|
|
для: Loki
(29.08.2006 в 13:38)
| | пальцем тыкай себе.
покажите что вас не устраивает. | |
|
|
|
|
|
|
|
для: RV
(29.08.2006 в 13:43)
| | то что mysql не примет параметр без кавычек и выдаст ошибку
ps и на "ты" мы пока не переходили | |
|
|
|
|
|
|
|
для: Loki
(29.08.2006 в 13:55)
| | может у меня mysql не тот или у хостера не тот? всю жизнь принимал и давал что надо | |
|
|
|
|
|
|
|
для: RV
(29.08.2006 в 14:05)
| | Только что проверил - не работает.
MySQL 4.1.14
Кроме того, не очень понятно как должны обрабатываться запросы с пробелами в параметре? | |
|
|
|
|
|
|
|
для: Loki
(29.08.2006 в 14:09)
| | например | |
|
|
|
|
|
|
|
для: RV
(29.08.2006 в 14:14)
| |
SELECT * FROM chat_users WHERE nickname = Vasya Pupkin
|
Да вы не верьте мне на слово - возьмите phpmyadmin и попробуйте сами;) | |
|
|
|
|
|
|
|
для: Loki
(29.08.2006 в 14:17)
| | вы точно внимательно смотрели?
SELECT * FROM chat_users WHERE nickname = 'Vasia'
|
Видите 'Vasia' в кавычках? | |
|
|
|
|
|
|
|
для: RV
(29.08.2006 в 14:24)
| | автор: RV (29.08.2006 в 04:52) | |
|
|
|
|
|
|
|
для: Loki
(29.08.2006 в 15:12)
| | что? | |
|
|
|
|
|
|
|
для: Unkind™
(29.08.2006 в 02:41)
| | а что в $nickname?
Какой ник Вы ищете и какой при этом выдается? | |
|
|
|