0

データベースを MS-Access から mysql に移行しています

次のコード (関連コードの一部のみ) を使用して、mysql からデータを取得しています。

$con = mysql_connect("localhost","abc","abc@123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }


  $conn= mysql_select_db('xyz', $con);
if (!$con) {
    die ('Can\'t connect to database : ' . mysql_error());
}

$sql="SELECT * FROM Inventory where Text5='y' OR Text5='Y'  ";
$rs=mysql_query($sql);
if (!$rs)
  {exit("Error connecting database,,,");}

while (mysql_fetch_row($rs))
//while (!$rs->EOF)
  {
        $ASIN=trim(mysql_result($rs,"ASIN"));

        $LocalSKU = trim(mysql_result($rs,"LocalSKU"));

        //$ASIN=trim($rs->fields[120]);
        if(trim($ASIN)!=""){
            //include('funtions.php');
            $shipArray = shipingPrice($ASIN);
            $Price=round((mysql_result($rs,"Price")),2);
            $Price2=round((mysql_result($rs,"Price2")),2);  

しかし、スクリプトを実行すると、次のエラーメッセージが表示されます

警告: mysql_result() は、パラメーター 2 が長いことを想定しています。67 行目の C:\wamp1\www\nathan\amazonPrice.php で指定された文字列です。

基本的に、クエリ結果から、フィールドの値を選択しASINLocalSKUさらに処理したい..

誰かが私がここで間違っていることを教えてもらえますか?

4

1 に答える 1

4

http://php.net/mysql_result

mysql_result の 2 番目のパラメーターは、必要な行です。これは文字列フィールドではありません。

あなたのコードはかなりひどいです。次の方法で大幅に簡素化できます。

$row = mysql_fetch_assoc($rs);
$price = $row['price'];
$pric2 = $row['price2'];
etc...
于 2012-08-16T21:52:52.790 に答える