@dk-web

Что я делаю не так — переходя от mysqli к pdo?

Пару дней назад я просил оценить свои функции...
Но благодаря настойчивым советам пользователей этого замечательного сайта - я все же решился начать писать код нового проекта на mysqli (процедурно) и совсем страшном для меня PDO...
Прошу оценить и пояснить в чем я не прав... начал с банального заполнения БД.

Первый массив данных - массив одномерный.
$data=array (
	"header"=>"Заголовок в шапку",
	"slogan"=>"Слоган",
	"about_us_title"=>....
        "map"=>"Карта")

mysqli:
foreach ($data as $key=>$value){
 	$query = "INSERT INTO `mp-structure` VALUES ('','$key','$value')";
 	$result = $connection->query($query) or die ("ошибка БД".mysqli_error($connection));
 }


это же с PDO:
$STH = $pdo->prepare("INSERT INTO `mp-structure` VALUES (:uid, :tag, :rus)");

$STH->bindParam(':uid', $uid); //auto_increment
$STH->bindParam(':tag', $tag);
$STH->bindParam(':rus', $rus);

foreach ($data as $key => $value) {
	$uid="";
	$tag=$key;
	$rus=$value;

// $STH->execute();
}


Второй массив: - массив двухмерный
$data2=array (
	"1"=>array(
		"city"=>"1",
		"header"=>"Компания",
		"slogan"=>"..."),
        "2"=>array(
		"city"=>"1",
		"header"=>"Компания",
		"slogan"=>"..."))

mysqli:
foreach ($data2 as $city_key => $city) {
	$query="INSERT INTO `mp-content` SET ";
	foreach ($city as $key => $value) {
		$query .="`$key`='$value',";
	}
	$query= substr($query, 0, strlen($query) - 1);
	$result = $connection->query($query) or die ("ошибка БД".mysqli_error($connection));
}

он же с PDO:
$query="INSERT INTO `mp-content` VALUES (";
	for ($i=0;$i<count($data2[1]);$i++){
		$query.="?, ";
	}

$query= substr($query, 0, strlen($query) - 2);	
$query.=")";

$STH = $pdo->prepare($query);
foreach ($data2 as $city) {
$values=array_values($city);
$STH->execute($values);
 }


буду признателен за любые комментарии и советы.
П.с. учитывая, что и то и другое для меня очень новО и работает - я сейчас радуюсь) только не понимаю чем старый добрый и рабочий mysql был плох... но вот на это не надо отвечать уж точно))
  • Вопрос задан
  • 209 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы