Intereting Posts
Загрузить файл с использованием конечной точки Guzzle 6 в API Symfony3 сохраняет каждое обновление в базе данных отобразить изображение во всплывающем окне на карте google Ввести параметры URL в меню Zend_Navigation Как я могу использовать хеширование MD5 для паролей в Laravel? $ _SERVER не работает в скрипте php, проходящем через cron PHP Предотвратить xss Хранить другое значение в базе данных из форм, созданных динамически с помощью PHP? PHPMailer: замените идентификатор сообщения по умолчанию Можно ли перенести все глобальные переменные php в локальную область функции? Как я могу хранить и извлекать изображения из базы данных MySQL с помощью PHP? Как я могу использовать PHP для динамического опубликования файла iical для чтения в Календаре Google? Красноречивый запрос: идентификатор столбца неоднозначный PHP, вложенные запросы MYSQL Как проверить X-редактируемый запрос в laravel (на стороне сервера)

Создание формы поиска в PHP для поиска в базе данных?

В настоящее время я пытаюсь завершить проект, в котором спецификации должны использовать форму поиска для поиска в базе данных для упаковки. База данных имеет множество переменных величин: от размеров, имен, типов и мяса. Мне нужно создать форму поиска, в которой пользователи могут выполнять поиск по нескольким различным запросам (например, поиск лотка для крышки длиной 50 см).

Я весь день пытался создать некоторый PHP-код, который мог бы искать информацию в тестовой базе данных, которую я создал. У меня было множество ошибок: от ошибок mysql_fetch_array, логических ошибок, и теперь моя последняя ошибка заключается в том, что моя таблица, похоже, не существует. Хотя я могу вводить в него данные (html и php-страницы, где я могу вводить данные), я не знаю, что вызывает это, и я начал снова несколько раз.

Может ли кто-нибудь дать мне некоторое представление или советы о том, что мне сейчас нужно делать? Вот только мои небольшие тесты на данный момент, прежде чем я перейду на базу данных SQL реальных сайтов.

Создание базы данных:

<body> <?php $con = mysql_connect("localhost", "root", ""); if (!$con) { die('Could not connect: ' . mysql_error()); } if (mysql_query("CREATE DATABASE db_test", $con)) { echo "Database created"; } else { echo "Error creating database: " . mysql_error(); } mysql_select_db("db_test", $con); $sql = "CREATE TABLE Liam ( Code varchar (30), Description varchar (30), Category varchar (30), CutSize varchar (30), )"; mysql_query($sql, $con); mysql_close($con); ?> </body> 

HTML-форма формы поиска:

 <body> <form action="form.php" method="post"> Search: <input type="text" name="term" /><br /> <input type="submit" name="submit" value="Submit" /> </form> </body> 

Код PHP, который я использую, чтобы попытаться собрать информацию из базы данных (я переписал это несколько раз, этот код также отображает «table.liam не существует»)

  <body> <?php $con = mysql_connect ("localhost", "root", ""); mysql_select_db ("db_test", $con); if (!$con) { die ("Could not connect: " . mysql_error()); } $sql = mysql_query("SELECT * FROM Liam WHERE Description LIKE '%term%'") or die (mysql_error()); while ($row = mysql_fetch_array($sql)){ echo 'Primary key: ' .$row['PRIMARYKEY']; echo '<br /> Code: ' .$row['Code']; echo '<br /> Description: '.$row['Description']; echo '<br /> Category: '.$row['Category']; echo '<br /> Cut Size: '.$row['CutSize']; } mysql_close($con) ?> </body> 

Если кто-нибудь знает или может мне помочь, я был бы очень благодарен! Заранее спасибо.

попробуйте это, дайте мне знать, что произойдет.

Форма:

 <form action="form.php" method="post"> Search: <input type="text" name="term" /><br /> <input type="submit" value="Submit" /> </form> 

form.php:

 $term = mysql_real_escape_string($_REQUEST['term']); $sql = "SELECT * FROM liam WHERE Description LIKE '%".$term."%'"; $r_query = mysql_query($sql); while ($row = mysql_fetch_array($r_query)){ echo 'Primary key: ' .$row['PRIMARYKEY']; echo '<br /> Code: ' .$row['Code']; echo '<br /> Description: '.$row['Description']; echo '<br /> Category: '.$row['Category']; echo '<br /> Cut Size: '.$row['CutSize']; } 

Изменить: Убрал его немного больше.

Final Cut (мой тестовый файл):

 <?php $db_hostname = 'localhost'; $db_username = 'demo'; $db_password = 'demo'; $db_database = 'demo'; // Database Connection String $con = mysql_connect($db_hostname,$db_username,$db_password); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db($db_database, $con); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title></title> </head> <body> <form action="" method="post"> Search: <input type="text" name="term" /><br /> <input type="submit" value="Submit" /> </form> <?php if (!empty($_REQUEST['term'])) { $term = mysql_real_escape_string($_REQUEST['term']); $sql = "SELECT * FROM liam WHERE Description LIKE '%".$term."%'"; $r_query = mysql_query($sql); while ($row = mysql_fetch_array($r_query)){ echo 'Primary key: ' .$row['PRIMARYKEY']; echo '<br /> Code: ' .$row['Code']; echo '<br /> Description: '.$row['Description']; echo '<br /> Category: '.$row['Category']; echo '<br /> Cut Size: '.$row['CutSize']; } } ?> </body> </html> 

Вы получаете таблицу ошибок «liam» не существует », потому что имя таблицы – это Liam который не совпадает с именем liam . Названия таблиц MySQL чувствительны к регистру.

Вы уверены, что указанная база данных и таблица существуют? Вы пытались посмотреть свою базу данных с помощью любого клиента базы данных? Например, клиент MySQL командной строки в комплекте с сервером MySQL. Или, если вы новичок-разработчик, есть десятки клиентов графического интерфейса и веб-интерфейса (HeidiSQL, MySQL Workbench, phpMyAdmin и многие другие). Итак, сначала проверьте, был ли ваш скрипт создания таблицы успешным и создал то, что ему нужно.

Кстати, почему у вас есть скрипт для создания структуры базы данных? Обычно это безответная операция, поэтому написать сценарий для этого не требуется. Это полезно только в случае необходимости многократного создания и управления структурой базы данных «на лету».