Функция session_id() возвращает строку - поэтому при составлении запроса мы должны использовать одинарные кавычки, чтобы указать MySQL, что это строка:
SELECT email FROM users WHERE surname='Иванов';
Если использовать твой вариант
$sql="SELECT * FROM basket WHERE customer=' session_id() ' ";
то как PHP догадается о том, что session_id() - это функция, которую надо выполнить, а результат выполнения подставить в запрос? Переменную PHP "опознает" по знаку $:
$surname = "Иванов";
$sql="SELECT * FROM basket WHERE customer='$surname'";
Функция COUNT(*) возвращает количество записей, удовлетворяющих условию WHERE. Можно сделать запрос
$sql="SELECT * FROM basket WHERE customer=' " . session_id() ." ' ";
который вернет все записи, удовлетворяющих условию WHERE, а потом получить количество возвращенных записей с помощью функции mysql_num_rows() - но зачем такие сложности?
|