当时我正在使用CodeIgniter 2并没有遇到任何麻烦,但现在我使用的是CodeIgniter 3,并且在我的代码中遇到了mysql和mysqli的麻烦。
我的代码是:
<?php
$query_i = "select MAX(Id_Product) from products";
$result_i = mysql_query($query_i);
$data2 = mysql_fetch_array($result_i);
$MaxID = $data2[0];
$temp = (int)substr($MaxID,2,4);
$temp++;
$NewID = "P".sprintf("%04s",$temp); ?>
错误消息:
mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
和
mysql_fetch_array() expects parameter 1 to be resource, boolean given
有谁知道如何修复它?
答案 0 :(得分:0)
好吧,您的错误似乎表明您使用的PHP版本适用于mysqli
。请使用mysql
语句替换所有mysqli
语句。
至于你的第二个错误,显然mysql_fetch_array
正在接收一个布尔值false
。您的查询似乎失败并返回false,您尝试获取数组。请将这行代码添加到您的程序中并尽快发布输出,以便我可以对其进行调试。
`
//after the mysql_fetch_array statement
var_dump($query_i)
var_dump($result_i)
var_dump($data2)`
答案 1 :(得分:0)
您可以使用以下代码来解决您的问题
<?php
$sql="select MAX(Id_Product) from products";
$result=mysqli_query($con,$sql);
// Numeric array
$row=mysqli_fetch_array($result,MYSQLI_NUM);
$MaxID = $row[0];
$temp = (int)substr($MaxID,2,4);
$temp++;
$NewID = "P".sprintf("%04s",$temp);
?>