簡體   English   中英

“字段列表”中的未知列

[英]Unknown column in 'field list"

我在嘗試更新/插入記錄時不斷收到此錯誤:

'字段列表'中的未知列'test'SQL = INSERT INTO oovea_vehiclemanager_feature_vehicles(fk_vehicleid,fk_featureid,fk_value)VALUES(13,56,test)

這是我設置的表單:

<?php
if (isset($_POST['feature'])){
    $feature = $_POST['feature'];
    $featureInput = $_POST['featureInput'];
    $database->setQuery("DELETE FROM #__vehiclemanager_feature_vehicles WHERE fk_vehicleid = " . $vehicle->id);
    $database->query();
    for ($i = 0; $i < count($feature); $i++) {
        $database->setQuery("INSERT INTO #__vehiclemanager_feature_vehicles (fk_vehicleid, fk_featureid, fk_value) VALUES (" . $vehicle->id . ", " . $feature[$i] . ", " . $featureInput[$i] . ")");
        $database->query();
    }
}
?>

這是我的表單字段:

<?php 
if($vehicle_feature[$i]->name): ?>
<div class="checkbox_vm">   
    <input type="checkbox" class="checkbox_veh" id="checkbox_addveh<?php echo $i; ?>" <?php if ($vehicle_feature[$i]->check) echo "checked"; ?> name="feature[]" value="<?php echo $vehicle_feature[$i]->id; ?>">   
    <label for="checkbox_addveh<?php echo $i; ?>"><?php echo $vehicle_feature[$i]->name; ?></label>    
    <input type="text" class="" id="input_addveh<?php echo $i; ?>" name="featureInput[]" value="<?php echo $vehicle_feature[$i]->value; ?>">    
</div>
<?php endif; ?>

顯然,從上面的錯誤中,我可以看到featureInput字段的值正在發布,我的“INSERT INTO”的語法看起來是正確的。 此外,如果我只刪除“fk_value”,“$ featureInput [$ i]的列,它將起作用。

嘗試使用單引號:

VALUES ('" . $vehicle->id . "', '" . $feature[$i] . "', '" . $featureInput[$i] . "')

您尚未在查詢中正確引用字符串數據。

嘗試這個:

<?php
if (isset($_POST['feature'])) {
    $feature = $_POST['feature'];
    $featureInput = $_POST['featureInput'];
    $database->setQuery("DELETE FROM #__vehiclemanager_feature_vehicles WHERE fk_vehicleid = $vehicle->id");
    $database->query();
    for ($i = 0; $i < count($feature); $i++) {
        $database->setQuery("INSERT INTO #__vehiclemanager_feature_vehicles (fk_vehicleid, fk_featureid, fk_value) VALUES ($vehicle->id,$feature[$i],'$featureInput[$i]')");
        $database->query();
    }
}
?>

您還需要處理一些嚴重的SQL注入問題,否則攻擊者可能很容易破解您的數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM