Пару дней назад я просил оценить свои функции...
Но благодаря настойчивым советам пользователей этого замечательного сайта - я все же решился начать писать код нового проекта на 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 был плох... но вот на это не надо отвечать уж точно))