為何儲存到資料庫後,前面的000沒有了 - PHP $vip ); $db->autoExecute($fdyu->table('oa_vip'),$fiel" />
首頁
- Web開發
- Android
- J2EE
- PHP
- Linux/Unix
- MySql
- C#
- 更多...
當前位置: 代碼迷 » 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='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;
}*/
}
?>
------解決思路----------------------
$sql = 'INSERT INTO ' . $table . ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')';
echo $sql;
輸出看看