PDO не записывается в базу инфа

imediasun

Новичок
Почему не записывается в базу информация
PHP:
function insert($table_name,$data){
   
  $sql= 'INSERT INTO '.$table_name.'' ;
   $qnt=count($data);
   $sql.= ' (';
   foreach($data as $key=>$val){
   $sql.= $key.',';
   }
   $sql=substr($sql, 0, -1);
   $sql.= ') ';
   $sql.= 'VALUES'   ;
   $sql.= ' (';
   foreach($data as $key=>$val){
   $sql.= $val.',';
   }
   $sql=substr($sql, 0, -1);
   $sql.= ')';
   print($sql);//INSERT INTO users //(username,password,full_name,email,activation_code,created_at,qnt_pass) VALUES //(imediasun,b193c4932ce485ba35e44dbd1eabd1155ba2885b,Andrey,[email protected],e//7e84a74ea3fae3c8c29e798e8fc7662f59cae75,2015-11-01 19:28:24,9)
   parent::conn()->query($sql);
}
Main conn
PHP:
function conn() { // подключение к БД
  return new PDO('mysql:host=site.com;dbname=c1site', 'c1lopushansky', 'sun');
   
}
больше ошибоек нет
 

fixxxer

К.О.
Партнер клуба
Ну вот делаешь ты print, а толку, если не смотришь, что выводится. Попробуй скопировать то, что у тебя получилось, в sql клиент. Там тоже ошибка? Разумеется. Значения в кавычках должны быть.

Это во-первых. Во-вторых, это одна большая дырка, потому что значения надо как минимум форматировать через PDO::quote. А лучше использовать prepared statements.

В-третьих, прочитай в мануале про функцию join. И про array_keys тоже не помешает.
 

imediasun

Новичок
Спасибо огромное полезная статья сделал как там и все ок
 
Последнее редактирование:
Сверху