为何保存到数据库后,前面的000没有了 - php $vip ); $db->autoexecute($fdyu->table('oa_vip'),$fiel />
首页web开发androidj2eephplinux/unixmysqlc#更多... 当前位置: 代码迷 » php » 为何保存到数据库后,前面的000没有了 为何保存到数据库后,前面的000没有了 www.myexception.cn,网友分享于:2014-06-30 浏览:5次 为什么保存到数据库后,前面的000没有了
$field_values_vip = array(
vip => $vip
);
$db->autoexecute($fdyu->table('oa_vip'),$field_values_vip);
假如$vip='0004956321';
当我提交保存到数据库字段vip后,只保存为4956321,前面的000没有了,为什么?
------解决思路----------------------
这要看你 autoexecute 方法是怎么写的了
------解决思路----------------------
用你的程序测试一下,没发现问题啊。
$sql 输出等于 insert into table (vip) values ('0004956321')
$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;
}*/
}
?>
------解决思路----------------------
$sql = 'insert into ' . $table . ' (' . implode(', ', $fields) . ') values (' . implode(', ', $values) . ')';
echo $sql;
输出看看