2017-08-13 3 views
0

私は数日前にmssqlサーバーデータベースを使ってPHPプロジェクトを開発しました。今私はMSSQLデータベースをMySQLデータベースに変更する必要があります。以前私はodbc_resultメソッドを使用しましたが、私はODBCのすべてのメソッドをmysqli proceduralのメソッドに変換しています。だから私はmysqliのためのodbc_resultのような働く機能が必要です - それはどちらですか?私はmysqli_resultを使用しようとしていますが、 "定義されていない関数mysqli_result()"を呼び出すときにエラーが発生します。 私は機能をmenthidている以下:odbc_resultメソッドの代わりにmysqli

function checkCountry($con) 
{ 
if ($con != '') { 

    $cCodeList = array(); 
    $i = 0; 

    $checkCountrySql = "SELECT country_code FROM country"; 
    $checkCountyResult = mysqli_query($con, $checkCountrySql); 
    while (mysqli_fetch_row($checkCountyResult)) { 
     for ($j = 1; $j <= mysqli_num_fields($checkCountyResult); $j++) { 
      $ar = mysqli_result($checkCountyResult, $j); 
     } 
     $cCodeList[$i] = $ar; 
     $i++; 
    } 

    return $cCodeList; 
    } 
} 

だから、mysqliのためodbc_resultの代替は何ですか?

答えて

1

私はmysqli_resultを使用しようとしていますが、それは誤りを投げていた「未定義の関数mysqli_result()の呼び出し」。

MySQLiには、mysqli_result()の機能がありません。

今度はforループを見ると、ループの各繰り返しで$arを上書きしています。次に、あなたの `に` DISTINCT`を使用し実際には、あなたは、このすべてforループを必要としない、単純に次のような方法であなたのwhileループを変更、

while ($row = mysqli_fetch_row($checkCountyResult)) { 
    $cCodeList[] = $row; 
} 
+0

あなたのソリューションを試した後、私は重複する値の配列 –

+0

@AbaneelJahidを取得しますSELECT 'クエリ、 '$ checkCountrySql =" SELECT DISTINCT country_code FROM国 ";"。あなたは次のコードブロックを削除しましたか?for ... ... –

+0

forループを削除しました。countryテーブルの下にcountry_codeが重複していないので、SQLではDISTINCTキーワードを使用する必要はありません。 –

関連する問題