2017-08-15 80 views
0

有没有什么办法可以将mysql变量与mysql函数结果连接到一个insert语句中?如何连接PHP变量与mysql函数导致INSERT语句

我有下面的代码: “$ currYear”

$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)."')"; 
    } 
} 

我想连接与SELECT(MAX)功能,我已经试过”的$ currYear变量(SELECT MAX(h1.num_factura )+1 FROM facturas h1)',但它并不按我想要的方式工作,它将max列num_facturas递增1,并与$ currYear变量连接。

回答

3

你需要让查询第一

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

,然后您可以连接结果到你的原始字符串。

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