2012-06-07 2 views
-4

So. Я работаю над простой системой. У меня есть следующий код:Неверный запрос SQL в PHP?

$sql = mysqli_connect($db_host, $db_user, $db_pass, $db_name); 
$aaa="SELECT UserName,activeuntil from sessions WHERE `sessionid`='$b' AND `sessiontype`=$a"; 
$sqc=mysqli_prepare($sql,$aaa); 
mysqli_execute($sqc); 
mysqli_bind_result($sqc,$un,$til); 
while(mysqli_fetch($sqc)){echo $un;if(strtotime($til)>time())$user=$un;} 
echo "Hi, $user"; 

которых $ ааа производит в моем случае:

SELECT UserName,activeuntil from sessions WHERE `sessionid`='rc1xamoblbqxul78czfsvub62fudzc' AND `sessiontype`=0 

, который идеально работает запрос в PhpMyAdmin. Однако код в целом не дает результата (должен иметь 1 строку). Зачем? Наверное, мне не хватает чего-то очень легкого, но что?

P.S .: Если вы можете только сказать: «пожалуйста, санируйте свои входы», «этот стиль кодирования ужасен», не отвечайте на это, поскольку они будут исправлены. Благодарю.

+1

Исправьте вещи, которые, как вы знаете, ошибаетесь, прежде чем пытаться выяснить, что еще может быть неправильно. – eggyal

+0

Это более важно, так как необходима санировка. ПУТЬ позже (в настоящее время не будет публично). – axiomer

+1

Я не вижу в вашем коде '' $ a' или '$ b'. –

ответ

0

Я забыл тривиальную, не связанную с SQL вещь (заявление включения ...). Спасибо всем за ответы.

0

Я бы рекомендовал:

$link = mysqli_connect($db_host, $db_user, $db_pass, $db_name); 
$query ="SELECT UserName,activeuntil from sessions WHERE 'sessionid'='$b' AND 'sessiontype'=$a"; 
$query = mysqli_query($link, $query); 
while($row = mysqli_fetch_object($query)) 
{ 
echo "Hi ".$row->UserName; 
} 
0

Когда у меня есть вопрос запроса в PHP Я присоединяюсь мой SQL строку и запустить его в PhpMyAdmin. Если он выполняется нормально, то ваше соединение имеет ошибку. Надеюсь это поможет.

+0

Как я уже говорил в вопросе, он выполнен отлично. Однако mysqli_error дает пустой результат, поэтому в соединении нет ошибки. – axiomer