Я сделал поиск, что бы выдавало все статьи, содержащую введённую букву или слово. Он работает, нормально ли получилось? PHP: <?php header('Content-Type: text/html; charset=utf-8'); error_reporting(-1); $pdo = new PDO('mysql:host=localhost; dbname=dz; charset=utf8', 'root', ''); $statement = $pdo->prepare('SELECT * FROM `books`'); $statement->execute(); $books = $statement->fetchAll(); $formName = ''; if(isset($_GET['name'])){ $formName = $_GET['name']; $sth2 = $pdo->prepare('SELECT * FROM `books` WHERE `name` LIKE :search'); $sth2->execute([':search'=>'%'.$formName.'%%']); while($bookName = $sth2->fetch()){ if($bookName['name']){ echo $bookName['name'] . '<br>'; } else{ echo 'Такой книги нету'; } } }
Тут может что-то пойти не так, по этому через if всё нужно проверять, по всем методам есть документация и там есть раздел "Возвращаемые значения" и ты должен проверять на то, что если всё успешно отработало
На локалке. Я сделал проверку для prepare, почему если указать неверную таблицу, то не выводит сообщение Подключение не удалось? PHP: <?php header('Content-Type: text/html; charset=utf-8'); error_reporting(E_ALL); $user = 'root'; $pass = ''; $dsn = "mysql:host=localhost;dbname=dz;charset=utf8"; try { $pdo = new PDO($dsn, $user, $pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo 'Подключение не удалось: ' . $e->getMessage(); die(); } try{ $statement = $pdo->prepare('SELECT * FROM `boks`'); }catch(PDOException $e){ echo 'Подключение не удалось: ' . $e->getMessage(); die(); }