У меня есть этот sql-запрос, и мне нужно добавить временную метку в поле с именем «created» в предыдущей функции, которая обновляется. Я добавил $sqlMod = sprintf("UPDATE %s SET last_modified=now(), %s WHERE id='%s'", $table, $implodeArray, $_POST['id']);
, который работает отлично. Однако я не могу заставить этот синтаксис правильно вставить в функцию, чтобы он работал правильно. Я пробовал (created, %s) VALUES ("now(), %s")
... и он не работает.timestamp для вставки в php
$sql = sprintf('INSERT INTO %s (%s) VALUES ("%s")', $table, implode(', ', array_map('mysql_escape_string', array_keys($values))), implode('", "',array_map('mysql_escape_string', $values)));
В настоящее время: INSERT INTO projects (created, project_name, project_bold, project_content, id) VALUES ("now(), something", "something", "something", "46919705")
Не используйте 'mysql_escape_string()'. Вместо этого используйте более исчерпывающий 'mysql_real_escape_string()'. В конечном итоге подумайте о переходе на API, поддерживающий подготовленные операторы, такие как MySQLi или PDO, хотя вам все равно необходимо объединить имена таблиц для динамического SQL, такие как это. –
'implode (',', array_map ('mysql_escape_string', array_keys ($ values)))' неверно. –
Проекты INSERT INTO (созданные, project_name, project_bold, project_content, id) VALUES («now(), something», «something», «something», «46919705») – Alex