2014-02-18 4 views
-1

Я передаю переменную запросу mysql, $ name - это переменная, которая получает расшифрованную строку. Затем он будет передан в запрос ПОИСК. $ name имеет имя в нем (которое я видел через эхо).mysql_query() не принимает переменные php

Запрос SEARCH просто не принимает эту переменную. Если я цитирую строку, которая присутствует в таблице SQL, я получаю вывод (считая как 1). Я не могу понять, где проблема, потому что один и тот же код работает в другом файле (хотя он принимает переменную в своем запросе из HTML-записи), и это смущает!

$decrypted_text1 = mcrypt_ecb(MCRYPT_DES, $key_value, $encrypted_text1, MCRYPT_DECRYPT); 
    $name = $decrypted_text1; 

    $username = "root"; 
    $password = "speaker1"; 
    $hostname = "localhost"; 

    $dbhandle = mysql_connect($hostname, $username, $password) or die("Could not connect to database"); 
    $selected = mysql_selectdb("login", $dbhandle); 

    $query = "SELECT * FROM users WHERE Username='$name' "; 

    $result = mysql_query($query, $dbhandle) or die(mysql_error()); 
    $count5 = mysql_num_rows($result); 
+0

'var_dump ($ запроса);' – zerkms

+0

он дал: строку «SELECT * FROM пользователей, где Имя пользователя = 'masab ' '(length = 46) «masab» - это то, что нужно сравнить с – masab

+0

, попробуйте с помощью mysql_real_escape_string() ', потому что ваше $ name может содержать некоторые специальные символы, которые разбивают ваш запрос. –

ответ

-3

Удалить кавычки вокруг переменной
это должно выглядеть следующим образом:

$query = "SELECT * FROM users WHERE Username=$name "; 
+0

: У вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «\ 0 \ 0 \ 0» в строке 1 – masab

+0

он дает «masab \ 0 \ 0 \ 0», когда он должен быть «masab» – masab

+0

Does эта строка mySql работает в phpMyAdmin, когда значение заменяется на $ name? – user3321651

Смежные вопросы