Невозможно создать SQL-запрос в PHP / HTML

У меня возникли проблемы с созданием вывода из запроса sql через php. Когда я выполняю запрос «SELECT * from projectdb WHERE name = 'Crys' or ID = 14142» на phpmyadmin, он возвращает допустимые результаты, но попытка сделать это путем передачи значения сообщения дает пустую таблицу. См. Код ниже:

<html>
<title>Search result</title>

<body>
<table border = "1px">
	<tr>
	<td>name</td>
	<td>ID</td>
	<td>position</td>
	<td>job scope</td>
	<td>contact_no</td>
	<td>days_off</td>
	<td>wages</td>
	</tr>


<?php
if (isset($_POST['value']))
{
	$ID=$_POST['staff ID'];
	$name=$_POST['staff name'];


	$admincon =mysqli_connect("localhost","root","","projectdb");
/* Query I need to execute and print in table*/
	$sqlsrch2 =mysqli_query($admincon, "select * from staff where name='".$name."' or ID='".$ID."'");
	while($result=mysqli_fetch_assoc($sqlsrch2)){

	?>
/* table where results needs to be printed */
	<tr>
	<td><?php echo $result['name'];?></td>
	<td><?php echo $result['ID'];?></td>
	<td><?php echo $result['position'];?></td>
	<td><?php echo $result['job_scope'];?></td>
	<td><?php echo $result['contact_no'];?></td>
	<td><?php echo $result['days_off'];?></td>
	<td><?php echo $result['wages'];?></td>
	</tr>
	<?php
	}
}
	?>
</table>
</body>
</html>

Несколько замечаний:

  1. Я просто новичок в PHP и SQL; Я просто ищу простой ответ.
  2. Безопасность здесь совсем не важна; это всего лишь грубая демонстрация. Если это помечено как повторяющееся, помогите перенаправить меня на ссылку, по которой я могу получить решение. Спасибо!

Если у вас когда-нибудь возникнут подобные проблемы, попробуйте отобразить SQL-запрос, который он фактически использует в вашем PHP-коде. Здесь показаны используемые переменные и их значения.

Nigel Ren 25.11.2018 09:01

Спасибо за это, Найджел. SQL-запрос, который я пытаюсь отобразить, выглядит примерно так: SELECT * FROM staff WHERE name = "Crys" или ID = 14142 "Crys" - допустимая запись в таблице персонала моей базы данных, как и номер ID 14142, который откуда я знаю, что я что-то делаю неправильно в своем коде. Кстати, имя базы данных - projectdb.

Ada Ozy 25.11.2018 09:31

О ваших заметках: Безопасность ВСЕГДА является проблемой ... как новичок, у вас есть отличный шанс научиться этому правильно - пожалуйста, сделайте это!

Lars Stegelitz 25.11.2018 10:05

Я бы попробовал что-то вроде этого, echo sqlsrch2; напишите этот статус после оператора $ sqlsrch2 = mysqli_query (...);. затем посмотрите результат, если в этом запросе есть значение переменной post. это необходимо для проверки того, содержит ли ваш запрос заданные значения, которые вы передаете в качестве параметров.

Nadee 25.11.2018 10:41

Спасибо, Нади. Я только что это сделал, и мне кажется, что в запрос в качестве параметров не передается никакого значения. Что я могу сделать, чтобы исправить это?

Ada Ozy 25.11.2018 15:33

@AdaOzy Где для этого форма? Кстати, здесь нужно использовать @the_member_name. Другой участник, возможно, не получил ваш комментарий к ним.

Funk Forty Niner 25.11.2018 16:00

Спасибо за комментарий @FunkFortyNiner. Я несколько понял, что в именах значений, которые я использовал, были пробелы, например. value = 'имя сотрудника', которое, казалось, вызвало проблему. Замена на "_" устранила проблему, и теперь результаты отображаются правильно :). Всем спасибо!

Ada Ozy 25.11.2018 16:33

Может быть, теперь я могу думать о безопасности, как советовал @LarsStegelitz lol

Ada Ozy 25.11.2018 16:33

Добро пожаловать. Вы можете использовать trim(), чтобы избавиться от пробелов.

Funk Forty Niner 25.11.2018 16:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
9
35
0

Другие вопросы по теме