Я вставляю запись, и я хочу использовать идентификатор последней вставленной записи. Это - то, что я попробовал:
$sql =
'INSERT INTO customer
(first_name,
last_name,
email,
password,
date_created,
dob,
gender,
customer_type)
VALUES(:first_name,
:last_name,
:email,
:password,
:date_created,
:dob,
:gender,
:customer_type)' . ' SELECT LAST_INSERT_ID()' ;
Я получаю ошибку:
У Вас есть ошибка в Вашем синтаксисе SQL; проверьте руководство, которое соответствует Вашей серверной версии MySQL для правильного синтаксиса для использования близкого 'ИЗБРАННОГО LAST_INSERT_ID ()'. Кто-либо может показать мне, где моя ошибка?Спасибо!
У вас в основном есть две опции: eiter абстрагирует всю логику, связанную с файловой системой, за IFileSystemService
или использует Stubs от Microsoft, которая является
-121--3329676-... облегченной структурой для .NET, которая обеспечивает тестовые заглушки. Для интерфейсов и незапечатанных классов создаются оболочки типа, которые можно легко настроить путем присоединения делегатов.
Я на самом деле склонен предложить другой ответ, чем «это неоднозначное» объяснение, предоставленное несколькими другими (хотя я согласен и с этим ответом):
Лично мне нравится минимизировать вложенность в мой код, как (по мне) чем более кудрявый код скобок, тем труднее ему становится следовать.
Поэтому я бы предпочел это (например):
public bool DoSomethingWithString(string s) {
if (string.IsNullOrEmpty(s))
return false;
// here's the important code, not nested
}
этому:
public bool DoSomethingWithString(string s) {
if (!string.IsNullOrEmpty(s)) {
// here's the important code, nested
} else {
return false;
}
}
Это довольно специфический сценарий (где нулевой / пустой ряд подсказывает немедленный выход) и явно не то, как метод, использующий IsStartOrEmpty
, всегда будет структурирован; Но я думаю, что это довольно часто.
Извлечение mysql _ insert _ id ()
mysql_query($sql);
$id = mysql_insert_id();
Когда эта функция запускается после выполнения инструкции INSERT в команде mysql_query (), ее результатом будет идентификатор только что созданной строки.