【发布时间】:2015-05-17 17:53:12
【问题描述】:
我似乎找不到错误。此表单应该更新数据库中的类别。
当我尝试更新类别时,它给了我这个错误
注意:未定义变量:C:\xampp\htdocs\CMS_project\admin\categories.php 第 90 行中的 cat_id 查询失败!您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 1 行的 '' 附近使用
这是下面的代码,我已经注释了第 90 行在哪里。
<form action="categories.php" method="post">
<div class="form-group">
<label for="cat_title">Update Category</label>
<?php
if(isset($_GET['edit']))
{
$cat_id = $_GET['edit'];
$query = "SELECT * FROM categories WHERE cat_id = {$cat_id} ";
$select_categories_id = mysqli_query($connection, $query);
while($row = mysqli_fetch_assoc($select_categories_id))
{
$cat_id = $row['cat_id'];
$cat_title = $row['cat_title'];
?>
<input value="<?php if(isset($cat_title)){echo $cat_title;} ?>" type="text" name="cat_title" class="form-control">
<?php } } ?>
<?php
if(isset($_POST['update_category']))
{
$the_cat_title = $_POST['cat_title'];
//Below is line 90
$query = "UPDATE categories SET cat_title = '{$the_cat_title}' WHERE cat_id = {$cat_id} ";
$update_query = mysqli_query($connection, $query);
if(!$update_query)
{
die("QUERY FAILED!" . mysqli_error($connection));
}
}
?>
</div>
<div class="form-group">
<input type="submit" name="update_category" value="Update Category" class="btn btn-primary">
</div>
</form>
这是表单获取 ID 的地方
<?php
while($row = mysqli_fetch_assoc($select_categories))
{
$cat_id = $row['cat_id'];
$cat_title = $row['cat_title'];
echo "<tr>
<td>{$cat_id}</td>
<td>{$cat_title}</td>
<td><a href='categories.php?delete={$cat_id}'>Delete</a></td>
<td><a href='categories.php?edit={$cat_id}'>Edit</a></td>
</tr>";
}
?>
【问题讨论】:
-
您是否尝试将列名放在反引号` `之间,因为您可以防止由mysql保留字引起的错误
-
在第二个
if你实际上没有定义$cat_id...