Есть ли способ объединить переменную 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.
Вы должны сделать запрос первым
(SELECT MAX(h1.num_factura)+1 FROM facturas h1))
и затем вы можете объединить результат с вашей исходной строкой.
$sql = "INSERT INTO facturas (anyo, num_factura) VALUES ('$currDate', '$maxNumFactura')";
Других решений пока нет …