Вопрос Php как удалить строку до символа?

Регистрация
26 Ноя 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
$f_name = $_POST['f_name'];

$l_name = $_POST['l_name'];





$query_get_ID = "SELECT id FROM client WHERE f_name = ? AND l_name = ?";

$params = array($f_name, $l_name);

$user_id = sqlsrv_query($conn, $query_get_ID, $params);



echo $user_id;





подключился к серверу, все нормально. нужно вывести из базы данных id по имени и фамилии.

все работает, вот только выводится такое: Resource id #5

как сделать чтоб выводилось только значение id, т.е. число?
 
Ты выполняешь запрос, не НЕ получаешь данные, которые запрос вернул. $query = sqlsrv_query($conn, $query_get_ID, $params);
$user = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC);
echo $user['id'];
 
почитайте что возвращает sqlsrv_query
5 здесь - это совсем не искомый вами id, а просто какой-то внутренний идентификатор.
после нужно sqlsrv_fetch_object или что-то подобное чтобы уже получить значение.
 
Функция `sqlsrv_query` возвращает ресурс результата запроса, а не данные запроса самого по себе. Он возвращает то, что использовалось PHP интерпретатором для отслеживания ответа на ваш SQL запрос, который вы можете потом использовать для извлечения информации.

Чтобы получить реальные данные, вам нужно использовать функции извлечения данных, такие как `sqlsrv_fetch_array` или `sqlsrv_fetch_object`. Эти функции извлекают данные из результата вашего SQL запроса и возвращают их в более полезной форме, такой как ассоциативный массив или объект.

Замените ваш код на следующий:

$f_name = $_POST['f_name'];
$l_name = $_POST['l_name'];

$query_get_ID = "SELECT id FROM client WHERE f_name = ? AND l_name = ?";
$params = array($f_name, $l_name);

$stmt = sqlsrv_query($conn, $query_get_ID, $params);
if ($stmt === false) {
die(print_r(sqlsrv_errors(), true));
}

if ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
echo $row['id'];
}
else {
echo "Не удалось найти пользователя.";
} В этом коде используется `sqlsrv_fetch_array` для извлечения данных в виде ассоциативного массива. Массив, который затем фильтруется, чтобы извлечь только 'id', который затем выводится.

Также стоит отметить, что я добавил базовую проверку ошибок для вашего запроса. Если что-то пойдет не так с вашим SQL запросом, то вы увидите сообщение об ошибке, что поможет в отладке.
 
Назад
Сверху