Это метод из класса, который отвечает за добавление записи в таблицу (это еще через mysqli):
public static function set($table, $fields = []) {
$query = "INSERT INTO ".$table." (";
$last = end($fields);
foreach ($fields as $key => $value) {
if($value != $last) {
$query .= "`".$key."`,";
} else {
$query .="`".$key."`";
}
}
$query .= ") VALUES (";
foreach ($fields as $key => $value) {
if($value != $last) {
$query .= "'".$value."',";
} else {
$query .= "'".$key."'";
}
}
$query .= ")";
$msq = mysqli_query(Database::mysqlConnector(), $query);
if(mysql) {
return true;
}
}
Код кривой косой. Поэтому я решил переписать его через PDO, но понять не могу. Сделал то же самое почти, но так:
public static function set($table, $fields = []) {
$query = "INSERT INTO ".$table." (";
$last = end($fields);
$pdo = Database::mysqlConnector();
foreach ($fields as $key => $value) {
if($value != $last) {
$query .= $pdo->quote($key).",";
} else {
$query .= $pdo->quote($key);
}
}
$query .= ") VALUES (";
foreach ($fields as $key => $value) {
if($value != $last) {
$query .= $pdo->quote($value).",";
} else {
$query .= $pdo->quote($value);
}
}
$query .= ")";
$msq = $pdo->exec($query);
if(msq) {
return true;
}
}
И теперь он ругается на синтаксис. Гуглил, нагуглил плейсхолдеры, но с этим тоже у меня не вышло, хотя делал все по статье и не одной. Куда мне смотреть?