Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php '中的未知列;“字段列表”;_Php_Sql - Fatal编程技术网

Php '中的未知列;“字段列表”;

Php '中的未知列;“字段列表”;,php,sql,Php,Sql,我在尝试更新/插入记录时不断遇到此错误: “字段列表”中的未知列“测试”SQL=插入oovea_车辆管理器_功能_车辆(fk_车辆ID、fk_功能ID、fk_值)值(13、56、测试) 以下是我设置的表单: <?php if (isset($_POST['feature'])){ $feature = $_POST['feature']; $featureInput = $_POST['featureInput']; $database->setQuery("

我在尝试更新/插入记录时不断遇到此错误:

“字段列表”中的未知列“测试”SQL=插入oovea_车辆管理器_功能_车辆(fk_车辆ID、fk_功能ID、fk_值)值(13、56、测试)

以下是我设置的表单:

<?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; ?>


尝试使用单引号:

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();
    }
}
?>

<代码>你需要把引号放在测试中,假设它是一个字符串,否则我将不被视为标识符/FieldIt看起来不正确,<代码>值(13,56,‘test’)< /C>会被纠正。BTW,曾经听说过SQL注入吗?为什么这个问题被否决了?我总是考虑下注而不解释为什么是懦弱的行为。