我修改這個代碼的地方,但我不知道如果我做正確,PDO:我可以避免bindParam嗎?
我用的方法將數據插入到數據庫中,
# insert or update data
public function query($query, $params=array())
{
try
{
$stmt = $this->connection->prepare($query);
$params = is_array($params) ? $params : array($params);
$stmt->execute($params);
return true;
}
catch (PDOException $e)
{
# call the get_error function
$this->get_error($e);
}
}
然後,我只需要調用它,
$sql = "
INSERT root_countries_cities_towns (
tcc_names,
cny_numberic,
tcc_created
)VALUES(
?,
?,
NOW()
)";
$pdo->query($sql,array('UK','000'));
它工作得很好!但我不明白這條線是什麼 - 有人可以解釋一下嗎?
$params = is_array($params) ? $params : array($params);
我想我必須使用bindParam
先綁定參數,但似乎我不;噸必須再與被法 - 是其安全然後?
這是否意味着我不必再以這種方式準備查詢了?
$sql = "
INSERT root_countries_cities_towns (
tcc_names,
cny_numberic,
tcc_created
)VALUES(
:name,
:numberic,
NOW()
)";
忘記這個綁定?
$stmt = bindParam(':name','UK', PDO::PARAM_STR);
$stmt = bindParam(':numberic','000', PDO::PARAM_STR);
謝謝。
在你離開大括號的同一個地方做關於「程序員懶惰」的陳述(除非使用替代控制結構語法,否則沒有任何藉口/如果():endif;)有點虛僞,如果你問我。 – Stephen 2011-03-03 13:25:20
@Stephen很好,你說得對,「懶惰」對此並不合適。 「虛假的效率感」可能是。他們想寫簡潔但不關心可讀性 – 2011-03-03 14:17:24