Как объединить переменную php с результатом функции mysql в операторе INSERT

Есть ли способ объединить переменную php с результатом функции mysql в инструкции вставки?

У меня есть следующий код:

$conn = new mysqli("localhost", "root", "", "facturas");

$currDate = date("Y/m/d");

$currYear = date("y");

$S = "SELECT num_factura FROM facturas WHERE num_factura";

if($currYear > date("y")) {
$sql = "INSERT INTO facturas (anyo, num_factura) VALUES ('$currDate', '".$currYear.(1)."')";
} else {
if($conn->query($S)->num_rows > 0) {
$sql = "INSERT INTO facturas (anyo, num_factura) VALUES ('$currDate', (SELECT MAX(h1.num_factura)+1 FROM facturas h1))";
} else {
$sql = "INSERT INTO facturas (anyo, num_factura) VALUES ('$currDate', '".$currYear.(1)."')";
}
}

Я хочу объединить переменную $ currYear с функцией SELECT (MAX), я попытался «. $ CurrYear.» (SELECT MAX (h1.num_factura) +1 FROM facturas h1) ‘, но это не работает так, как я хочу , который увеличивает максимальный столбец num_facturas на 1, сцепленный с переменной $ currYear.

0

Решение

Вы должны сделать запрос первым

(SELECT MAX(h1.num_factura)+1 FROM facturas h1))

и затем вы можете объединить результат с вашей исходной строкой.

$sql = "INSERT INTO facturas (anyo, num_factura) VALUES ('$currDate', '$maxNumFactura')";
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector