[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysqli_prepare select
maruo
В качестве защиты от sql иньекций, вычитал про подготовленные запросы и prepare ,
Решил использовать ее.
С инсертом проблем было мало но разобрался.
А вот сделать SELECT не совсем получается.



$query = mysqli_prepare($link,"SELECT name_city FROM city_full_base WHERE name_city=? ")or die(mysqli_error($link));

mysqli_stmt_bind_param($query, 's', $new_city)or die(mysqli_error($link));

mysqli_stmt_execute($query)or die(mysqli_error($link));

mysqli_stmt_bind_result($query, $city);

/* получаем значения */
mysqli_stmt_fetch($query);
echo'<pre>';
print_r($query);
echo'</pre>';
if(mysqli_fetch_row($query) == 0){
$_SESSION['msgs'] = '<p id="bad">Город: '.$new_city.' уже существует!</p>';
header("Location:".$_SERVER['HTTP_REFERER']);
exit();



Нужно узнать вернул ли Запрос что то. И от этого делать дальнейшие действия.

fetch_row Выдает ошибку ибо нам приходит объект как я понял
mysqli_stmt Object
(
[affected_rows] => -1
[insert_id] => 0
[num_rows] => 0
[param_count] => 1
[field_count] => 1
[errno] => 0
[error] =>
[error_list] => Array
(
)

[sqlstate] => 00000
[id] => 1
)


Не сложно Объясните суть проблемы?
И стоит ли использовать prepare вообще? И в каких целях
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.