2017-02-03 1 views
0

소스 코드를 10 번 확인했지만 아무 이유없이 필자가 작동하지 않는다는 것을 기억한다. 다른 곳에서는 아무것도 변경하지 않았다. 업데이트, iclick 편집 버튼을 누르면 오류가 발생합니다. 이는 쿼리에 문제가 있음을 의미합니다.mysqli를 사용하여 쿼리를 업데이트 할 수 없음

<?php 
$editId = $_GET['id']; 
$event = mysqli_query($con, "SELECT * FROM events WHERE id = '$editId'")->fetch_assoc(); 
if(isset($_POST['submit'])){ 
$name = $_POST['name']; 
$description = $_POST['description']; 
$date = $_POST['date']; 
$artists = $_POST['artists']; 
$tickets = $_POST['tickets']; 
$updateQuery = mysqli_query($con, "UPDATE events SET name='$name',description='$description',date='$date', artists='$artists', ticket='$tickets' WHERE id = '$editId'"); 
} 
?> 
<?php if(isset($updateQuery) && $updateQuery): ?> 
<div class="alert alert-success"> 
<strong>Successfully Edited</strong> 
</div> 
<?php endif; ?> 
<?php if(isset($updateQuery) && !$updateQuery): ?> 
<div class="alert alert-danger"> 
<strong>Error</strong> 
</div> 
<?php endif; ?> 
<form action="<?php echo $app_host; ?>/admin/?page=editevent&id=<?php echo $editId; ?>" method="post"> 
<div class="form-group"> 
<label for="name">Name</label> 
<input value="<?php echo $event['name']; ?>" required="true" type="text" class="form-control" id="name" name="name"> 
</div> 
<div class="form-group"> 
<label for="description">Description</label> 
<textarea class="form-control" id="description" name="description"><?php echo $event['description'];; ?></textarea> 
</div> 
<div class="form-group"> 
<label for="date">Date</label> 
<input value="<?php echo $event['date']; ?>" required="true" type="text" class="form-control" id="date" name="date"> 
</div> 
<div class="form-group"> 
<label for="artists">Artists</label> 
<input value="<?php echo $event['artists']; ?>" required="true" type="text" class="form-control" id="artists" name="artists" data-role="tagsinput"> 
</div> 
<div class="form-group"> 
<label for="tickets">Ticket Link</label> 
<input value="<?php echo $event['tickets']; ?>" required="true" type="text" class="form-control" id="tickets" name="tickets" data-role="tagsinput"> 
</div> 
<input name="submit" type="submit" class="btn btn-default" value="Edit Event" /> 
</form> 
+0

어떤 오류가 있습니까? –

+2

어떤 오류가 발생합니까? 'die (mysqli_error ($ con));'를 사용하여 SQL 오류 메시지를보십시오. – Barmar

+0

mysqli로 전환 했으므로 변수 대체 대신 준비된 명령문을 사용하도록 코드를 수정해야한다. 값에 따옴표가 있으면 문제가 해결 될 수 있습니다. – Barmar

답변

1

좋아, 당신은 변수를 선언,

$tickets = $_POST['tickets']; 

하고

$updateQuery = mysqli_query($con, "UPDATE events SET name='$name',description='$description',date='$date', artists='$artists', ticket='$tickets' WHERE id = '$editId'"); 
} 

을 말하고 해결책은 간단보다 :

$updateQuery = mysqli_query($con, "UPDATE events SET name='$name',description='$description',date='$date', artists='$artists', tickets='$tickets' WHERE id = '$editId'"); 
} 

단순히 변경 '티켓' 쿼리에서 '티켓'.

관련 문제