Подстановка переменных.Вопрос.

m0hze

Новичок
Подстановка переменных.Вопрос.

Имеем.
PHP:
$case['0'] = 'md5';
$case['1'] = 'mysql';
$case['2'] = 'sha1';
$case['3'] = 'mysql5';
$code['0'] =  md5($pass);
$code['1'] = 'old_password('.$pass.')';
$code['2'] =  sha1($pass);
$code['3'] = 'password('.$pass.')';
for($i=0;$i < 4;$i++){
		$addpass = mysql_query("INSERT INTO hash VALUES(NULL,'".$case[$i]."','".$code[$i]."','".$pass."','".$ip."','".$time."')") or die('Ошибка!');
	}
Ну естевственно подставляються все кроме old_password,password. Голову сломал,но чтото непридумал как еще написать :( Кто может помочь?
 

Фанат

oncle terrible
Команда форума
очень странный код сам по себе.

а почему "естественно" подставляются кроме? Что в этом естественного?
а что подставляется вместо них?
 

m0hze

Новичок
$code['0'] = md5($pass); - естественно подставиться все хорошо,я про хеш в базу.
$code['1'] = 'old_password('.$pass.')'; - в бд записываеться - old_password()
Если делать
$code['1'] = old_password($pass); - php ругаться на неопределенную функцию,так как это функция мускуля.
$code['1'] = 'old_password('.$pass.')'; - вариант непрокатывает,потому что '".$code[$i]."' одинарными кавычками игнорируються переменные при подстановке,убираем их - и в БД ничего непишеться.В общем я в шоке :)
 

Фанат

oncle terrible
Команда форума
m0hze, без цикла и без подстановок, а просто нужный запрос, один, сам по себе, ты можешь составить?
 

m0hze

Новичок
В том то и дело,что немогу,ну теперь уже неважно,добавил в цикл елсеиф,теперь прямо там подстановка переменных идет,так что всем спасибо.
 

Фанат

oncle terrible
Команда форума
на редкость альтернативно одаренный экземпляр
 

m0hze

Новичок
PHP:
<?
include('config.php');
$pass = '1324324';
$connect = @mysql_connect($db['host'], $db['user'], $db['pass']);
@mysql_select_db($db['base'], $connect);
$add1 = mysql_query("INSERT INTO hash VALUES(NULL,'mysql',old_password($pass),'" . $pass . "','" . $ip . "','" . $time . "')") or $result = 0;
?>
Так все рааботает,но стоит сменит значение $pass на буквенное - в БД ничего не заноситься.Я уже битый час над этим бьюсь.В БД стоит VARCHAR(50).
Помогите пожалуйста,в чем не прав?
 

m0hze

Новичок
Хехе,вот если невериш,могу видео снять,даже строчки прописал,а всеравно непоказывает ошибки.

-~{}~ 09.02.09 21:25:

Нашел интересуню вещь,есл писать old_password('qwerty') - то все работает.Соответственно,функция несчитывает только с переменных значеие букавак.Никто не знает,что это такое?
 

dimagolov

Новичок
m0hze, мне это нафиг не надо. это надо тебе, у тебя не работает же.

ну не можешь ошибки посмотреть подумай головой где в запросе буквы тебе мешают

-~{}~ 09.02.09 14:29:

блин, при чем тут функции которые что-то не считывают? функции там нету, есть SQL запрос, который ты строишь некоректным.
 
Сверху