вот ошибка
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
говорит что не правильный синтаксис запроса. но вроде у меня все правильно(
Не просто говорит, что неверный синтаксис, а еще говорит о том, что должно быть: т.е. в соответствии с синтаксисом требуются одинарные кавычки.
Например, должно было быть что-то вроде того:
$valid_user = mysql_real_escape_string($valid_user);
$query="SELECT balans FROM `auth` WHERE `name`='$valid_user'";
Да и поле `name` должно быть уникальным.
нашел ошибку)
у меня $valid_user=0, хотя на самом деле не равна!! в ней логин юзера, но почему то он не передается( причем ни просто переменной, ни глобальной(
Если написать первой строкой в функции -- var_dump($valid_user); -- то что выведется?
Как функция вызывается и какие операции над переменной перед этим проводятся?
Понял, я такое проходил.
Сделайте
$sql='...WHERE name='.$valid_us";
Для примера.
$sql='SELECT '."count($tVar),"."min($tVar),"."max($tVar),"."max($tVar)-min($tVar),"."avg($tVar),"."sum($tVar)".' FROM '.$TypeQ.' WHERE (DateTime>"'.$beginDate." ".$beginTime.' ") AND (DateTime<"'.$endDate." ".$endTime.'");';
Ужас...
я сделал иначе. просто, взял и напрямую в скрипте из куки наполнил переменную и все заработало)))
$names=$_SESSION['authorized'];
mysql_connect("localhost", "root", "pass") or die(mysql_error());
mysql_select_db("bauth") or die(mysql_error());
mysql_query("SET NAMES 'cp1251'");
$query="SELECT `balans` FROM `auth` WHERE `name`=$names";
$result=mysql_query($query);
if(!$result)
{
echo mysql_error();
}
while ($row=mysql_fetch_array($result, MYSQL_ASSOC))
{
printf ("Ваш баланс: %s", $row["balans"]);
}
А что, в переменной $_SESSION['authorized'] хранится имя пользователя?
По порядку:
1. Переменная взята не из куки, а из сессии.
2. С большой вероятностью от такого кода может быть дырка в безопасности. Тем более, если имя бы бралось из куки.
3. Соединение с базой делается не в каждой функции, а один раз и в другом месте.
В таком варианте работает, т.к. $переменная в двойных кавычках. Но это не удобно для длинных переменных (очень геморройно экранировать спец символы, если их много набирается).
Переменная $valid_user и в первом посте была в двойных кавычках. И какой геморой может быть с функцией mysql_real_escape_string?