Я где-то изменил этот код, но я не уверен, правильно ли я это делаю,
Я использую метод для вставки данных в базу данных,
# 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
, чтобы связать параметры, но, похоже, я не должен;больше с методом is - это безопасно и безопасно тогда ??
Значит ли это, что мне больше не нужно готовить запрос таким образом?
$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);
Спасибо.