这要看你 autoExecute 方法是怎么写的了

解决方案 »

  1.   

    function autoExecute($table, $field_values, $mode = 'INSERT', $where = '', $querymode = '')
        {
            $field_names = $this->getCol('DESC ' . $table);        $sql = '';
            if ($mode == 'INSERT')
            {
                $fields = $values = array();
                foreach ($field_names AS $value)
                {
                    if (array_key_exists($value, $field_values) == true)
                    {
                        $fields[] = $value;
                        $values[] = "'" . $field_values[$value] . "'";
                    }
                }            if (!empty($fields))
                {
                    $sql = 'INSERT INTO ' . $table . ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')';
                }
            }
            else
            {
                $sets = array();
                foreach ($field_names AS $value)
                {
                    if (array_key_exists($value, $field_values) == true)
                    {
                        $sets[] = $value . " = '" . $field_values[$value] . "'";
                    }
                }            if (!empty($sets))
                {
                    $sql = 'UPDATE ' . $table . ' SET ' . implode(', ', $sets) . ' WHERE ' . $where;
                }
            }        if ($sql)
            {
                return $this->query($sql, $querymode);
            }
            else
            {
                return false;
            }
        }
      

  2.   

    用你的程序测试一下,没发现问题啊。$sql 输出等于 INSERT INTO table (vip) VALUES ('0004956321')
    <?php$vip='0004956321';$field_values_vip = array(
    "vip" => $vip
    );
    autoExecute('table',$field_values_vip);
    function autoExecute($table, $field_values, $mode = 'INSERT', $where = '', $querymode = '')
        {
            #$field_names = $this->getCol('DESC ' . $table);
            $field_names = array('vip');        $sql = '';
            if ($mode == 'INSERT')
            {
                $fields = $values = array();
                foreach ($field_names AS $value)
                {
                    if (array_key_exists($value, $field_values) == true)
                    {
                        $fields[] = $value;
                        $values[] = "'" . $field_values[$value] . "'";
                    }
                }            if (!empty($fields))
                {
                    $sql = 'INSERT INTO ' . $table . ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')';
                }
            }
            else
            {
                $sets = array();
                foreach ($field_names AS $value)
                {
                    if (array_key_exists($value, $field_values) == true)
                    {
                        $sets[] = $value . " = '" . $field_values[$value] . "'";
                    }
                }            if (!empty($sets))
                {
                    $sql = 'UPDATE ' . $table . ' SET ' . implode(', ', $sets) . ' WHERE ' . $where;
                }
            }        echo $sql;        /*if ($sql)
            {
                return $this->query($sql, $querymode);
            }
            else
            {
                return false;
            }*/
        }
    ?>
      

  3.   

    $sql = 'INSERT INTO ' . $table . ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')';
    echo $sql;
    输出看看