Php mysql和mysqli有问题吗

Php mysql和mysqli有问题吗,php,mysql,mysqli,codeigniter-3,Php,Mysql,Mysqli,Codeigniter 3,当时我使用的是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]; $

当时我使用的是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); ?>


有人知道如何修复它吗?

好吧,您的错误似乎是说您使用的PHP版本与
mysqli
一起工作。请用
mysqli
语句替换所有
mysql
语句

至于第二个错误,显然
mysql\u fetch\u array
正在接收一个布尔值,
false
。您的查询似乎失败并返回false,您正在尝试获取其中的一个数组。请将这行代码添加到您的程序中,并尽快发布输出,以便我能够调试它

`
//after the mysql_fetch_array statement

 var_dump($query_i)
 var_dump($result_i)
 var_dump($data2)`

您可以使用以下代码来解决您的问题

<?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); 
?>

Codeigniter与此无关,如果您在核心PHP中使用此代码,也会出现相同的错误。由于MySQL扩展不再可用,所以请开始使用mysqli或PDOYOUKING,使用
select
时,
MySQL\u query
将在错误时生成false。
`
//after the mysql_fetch_array statement

 var_dump($query_i)
 var_dump($result_i)
 var_dump($data2)`
<?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); 
?>