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

どのようなエラーが発生しますか? SQLエラーメッセージを見るには 'die(mysqli_error($ con));'を使います。 – 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'"); 
} 

単に変更 'チケット'クエリを「チケット」に変換します。

関連する問題