Задать вопрос

Как решить проблему в sql запросе php?

Проблема у меня такая
есть запрос
$sth1 = $dbh->query("SELECT * FROM `datafrom` where myid=$_POST[user] "); 

$row = $sth1->fetchAll();

который выводит данные из бд на страницу, на странице у меня есть форма с кнопкой sumit как только я нажимаю кнопку Submit то таблица у меня исчезает, решил самостоятельно разобраться в чем же дело, подставил в myid число 1, потом снова нажал на кнопку submit в форме и страница у меня просто перезагрузилась и таблица осталась и ни куда не исчезла.
$sth1 = $dbh->query("SELECT * FROM `datafrom` where myid=1 "); 

$row = $sth1->fetchAll();


Ни как не могу понять почему же таблица остается пустой при таком запросе, переменная $_POST[user] точно содержит число, смотрел и выводил данные. Подскажите почему так происходит и как мне избежать этого ?
$sth1 = $dbh->query("SELECT * FROM `datafrom` where myid=$_POST[user] "); 

$row = $sth1->fetchAll();

UPDATE КОД кнопки в таблице по которой происходит изменение данных
<form method="POST" action="tabl.php" name="form1" id="form1" >					
					<input type="hidden" name="star" value="<?=$val['mitmp']?>">	
					<input type="hidden" name="idi" value="<?=$val['id']?>">
					<button type="submit" id="relog" name="relog" class="prosm"><img src="/project/images/back.png" ></button>

if(isset($_POST['relog'])){
	
	$star=$_POST['star'];
	$idi=$_POST['idi'];
		
	$sql = "UPDATE `datafrom` SET micur = '$star', maccept1='не согласовано' WHERE id=:id ";
$stm = $dbh->prepare($sql);
$values["id"] = $_POST['idi'];
$stm->execute($values);

}

после выполнения php скрипта данные из таблицы исчезают(НО сам скрипт изменяет данные и он получается работоспособен) и все это связано с Id запросом sql SELECT
UPDATE 2Форма с которой попадает ID в запрос и выводит таблицу с помощью запроса SELECT
<form method="POST"  name="apple" id="apple" action="tabl.php" target="_blank">
	<br>
		<br>
			<br>
				<center>
					<select name="user" id="user">
						<option disabled selected >Выбрать сотрудника</option>
						<? foreach($row as $k=>$val){
						?>
						<option value="<?=$val['myid']?>"><?=$val['mname']?></option>
						
						<? }?>
					</select>
						<input type="submit" value="Перейти" disabled/>
				</center>
</form>

UPDATE 3
edbf98e96eee465aaf51dc5c774e2843.jpg
После нажатия кнопки справа (она имеет тип type="submit" ) отправляет данные на сервер, если подставить напрямую 1 то запрос сработает и страница просто обновиться, но если я передаю Id из другого файла в запрос то после нажатия на кнопку sumit данные пропадают, как показано на нижнем скрине
21ceaa3fc9f94832973267105caea200.jpg
  • Вопрос задан
  • 562 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Никто не спрашивает, но предлагает решение. Что логи говорят? Если запрос не проходит в бд, то, как минимум, в логах это отразится.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
SimBioT19
@SimBioT19
{{ user.about }}
$sth1 = $dbh->prepare("SELECT * FROM `datafrom` WHERE myid = :user "); 
$sth1->bindParam(":user", $_POST["user"], PDO::PARAM_INT);
$sth1->execute();
$row = $sth1->fetchAll();
Ответ написан
@feldwebel
Или так:
$sth1 = $dbh->query("SELECT * FROM `datafrom` where myid={$_POST['user']} ");


php.net/manual/ru/language.types.string.php#langua...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы