2016-12-09 15 views
-1

私はCodeIgniter 2を使用していましたが問題はありませんでしたが、今はCodeIgniter 3を使用していて、mysqlとmysqliに問題があります。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

を解決するために、この次のコードを使用することができます。 MySQLエクステンションがもう利用できないので、mysqliやPDOを使用し始める –

+0

[this](http://php.net/manual/en/function.mysql-query.php)を見ると、 'mysql_query'がfalseを生成するようです'select'を使用するとエラーになります。 –

答えて

0

まあ、あなたのエラーは、使用しているPHPのバージョンがmysqliであると言えます。すべてmysqlステートメントをmysqliステートメントに置き換えてください。

第2のエラーについては、明らかにmysql_fetch_arrayがブール値falseを受信して​​います。クエリが失敗し、falseを返しているようですが、その中で配列を取得しようとしています。このコード行をプログラムに追加し、できるだけ早く出力を掲示して、私がそれをデバッグできるようにしてください。

` 
//after the mysql_fetch_array statement 

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

あなたはそれが同じエラーを与えるつもりだろうでもコアPHPでこのコードを使用する場合はCodeIgniterのとは何の関係はありません、あなたの問題

<?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); 
?> 
関連する問題