Я пытаюсь получить количество строк в которых есть определенный текст,и хочу сделать это используя подготовленные запросы.Но в моем коде что то не то PHP: $get_user_count_of_username="SELECT * FROM `users` WHERE `username`=':un'"; $get_user_count = $connect->prepare($get_user_count_of_username); $get_user_count->execute(['un'=>$username]);
Ты научишься ман читать PHP: PDOStatement::execute - Manual или дальше будешь форум бессмысленными темами покрывать?
Смысл форума чуть-чуть в другом, а когда что-то не работает, нужно включать отладку и курить ман в первую очередь, и только потом задавать вопрос. Сам зашёл в PHP 3 ещё, тогда и рунета не было толком, про тематические ресурсы молчу.
Ок,на данный момент я не могу научиться кидать эти чертовы подготовленные запросы или как их еще параметризованные запросы. Я смотрел ман вот код PHP: $sql = "SELECT * FROM `users` WHERE `username`=\"ivan\";"; Он ведь уязвим для sql инъекций? Там везде тока про insert вот insert с подготовленными запросами я умею а вот получить список пользователей с определенным именем не смог так и научиться и толком нет мана именно на это либо есть и я не заметил
@ilya45, код выше не уязвим, ибо не принимает никаких параметров. Тебе нужно что-то такое: PHP: $sql = "SELECT * FROM `users` WHERE `username` = :username"; $stmt = $pdo->prepare($sql); $stmt->execute(['username' => $username]); $rows = $stmt->fetchAll(); Рекомендую прокомментировать каждую строку, чтобы понять, что происходит.
Сори там должно было быть вот так PHP: $sql = "SELECT * FROM `users` WHERE `username`=\$username\";"; И когда я принимаю список имен,система не может конвертировать,что тока я не пробовал например PHP: $get_usernames_as_username=mysqli_fetch_assoc($get_usernames_as_username); иде шка ругается мол ошибка
не весь код привёл, из одной строки следует, что $get_usernames_as_username не определена IDE может на много что ругаться, работает ли скрипт, то важно.
Во-первых, надо уточнить какое расширение используется — PDO или mysqli. Я вижу здесь разночтение, ТС может попытаться по подсказке применить неприменимое. И действительно, в официальной документации есть масса примеров. В первую очередь надо ходить туда, а не перекладывать задачу на других ))) Только надо правильно понять контекст. --- Добавлено --- покажи сообщение об ошибке. я догадываюсь что не то, но сделай так, чтобы мы не гадали, а знали точно. в сообщении обычно есть вся информация. --- Добавлено --- https://phpfaq.ru/debug
Я просто не смог правильно кинуть запрос на получение строк,но уже исправил спасибо. Как удалить тему? или у вас так не принято --- Добавлено --- как раз по сообщении и смог --- Добавлено --- кстати у вас при выборе текста и нажатии на "Цитировать" эта функция не работает,или у меня траблы с браузером
Удалять у нас не принято. Принято писать в чем была проблема чтобы кто-то смог это найти и воспрользоваться. "Quote" накапливает фрагменты текста в буфере. Чтобы вставить, перейди к полю ввода коментария и найди кнопку "Insert Quotes"
Да,я всегда так делаю на всех форумах,если решил задачу пишу,что бы вдруг если другие столкнутся или в будущем новички столкнутся смогу справится --- Добавлено --- вот мой код который работает на ура PHP: $get_un = $connect->prepare("SELECT * FROM users WHERE username = :uname"); $get_un->execute([':uname' => $username]); if ($get_un->rowCount() > 0) { $_SESSION['message'] = 'Bu kullanıcı adı sistemde kayıtlı'; header('Location: ../register.php'); // Возврат на форму регистрации die; // Остановка выполнения скрипта