函数正常运行,我插入数据的其他查询也运行良好,如下所述。
这是我得到的错误“错误:SELECT MAX(product_id)FROM product_attribute”
public function add_tbl1($attribute_id , $attribute_description){
$con=$this->con;
$id = mysqli_real_escape_string($con, $attribute_id);
$description = mysqli_real_escape_string($con, $attribute_description);
$sql2="SELECT MAX(product_id) FROM product_attribute ";
$no=0;
if ($con->query($sql2) === TRUE) {
$no= $con->query($sql2);
$no=$no+1;
echo $no;
} else {
echo "Error: " . $sql2 . "<br>" . $con->error;
}
/*$sql = "INSERT INTO product_attribute ( attribute_id, attribute_description)
VALUES ( '$id', '$description')";
if ($con->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $con->error;
} */
}
答案 0 :(得分:2)
$con->query($sql2) === TRUE
mysqli::query 在TRUE
语句成功时不会返回SELECT
。它返回
对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象
因此,相应地改变你的if条件。
$sql2="SELECT MAX(product_id) as id FROM product_attribute ";
if ($result = $con->query($sql2)) {
$row = $result->fetch_assoc();
$id = $row["id"];
}
答案 1 :(得分:2)
如果$ con是mysqli连接,则带有SELECT的$ con> gt查询将永远不会返回true。 它将返回false或资源。
你应该选择
$con->query($sql2) !== false))
来自http://php.net/manual/en/mysqli.query.php
失败时返回FALSE。成功的SELECT,SHOW,DESCRIBE或 EXPLAIN查询mysqli_query()将返回一个mysqli_result对象。对于 其他成功的查询mysqli_query()将返回TRUE。