【发布时间】:2015-03-12 15:45:30
【问题描述】:
目前我被困在如何将数组的值添加到变量中,以便在查询中输出。
这是我存储的数据:
try {
$link->create(array(
'uid' => $user->data()->id,
'name' => Input::get('name'),
'hyperlink' => Input::get('hyperlink')
));
} catch (Exception $e) {
die($e->getMessage());
}
通过这个函数,我试图将该数组中的值放入 1 个变量中:
public function insert($table, $fields = array()) {
if (count($fields)) {
$keys = array_keys($fields);
$x = 1;
foreach ($fields as $field => $values) {
if ($x < count($fields)) {
$values .= ', ';
}
$x++;
}
$sql = "INSERT INTO `$table` (`" . implode('`, `', $keys) . "`) VALUES ({$values})";
die($sql);
if (!$this->query($sql, $fields)->error()) {
return true;
}
}
return false;
}
但是当我回显 sql 时,它只给出数组的最后一个值。我究竟做错了什么?
谢谢!
【问题讨论】:
-
$values = $values;覆盖东西是吗?
-
已编辑:用于测试目的..但它仍然不起作用。
-
使用你在循环中使用的变量有点讨厌,对吧?!如中, $values 在循环内重新分配..
-
SQL 注入是一种威胁吗?
-
它是否容易受到 sql-injection 的影响?