0

mySql データベースから選択する php 関数があります。

function Master_file($name, $latin ){

  $HOST_DB ="localhost";

  $NAME_DB="nom";
  $USER_DB ="utilisaeur";
  $PWD_DB="K3Pud1";
  $connect = mysql_connect($HOST_DB,$USER_DB,$PWD_DB);
  $db=mysql_select_db($NAME_DB);


  $qry = "SELECT tax_id FROM  master where name =".$name." and latin =".$latin;
  echo $qry;
  $result = mysql_query($qry);

  while ($Res_user = mysql_fetch_assoc($result) ) {

    return $Res_user['tax_id'];
  }
}

エラーが表示されWarning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/admin/public_html/hitlist/include/fg_membersite.php on line 446、行がwhile ($Res_user = mysql_fetch_assoc($result)

それで、問題は何ですか?どうすれば修正できますか?

4

2 に答える 2

1

これを試して

function Master_file($name, $latin ){

    $dsn = 'mysql:host=localhost;dbname=nom';
    $username = 'utilisaeur';
    $password = 'K3Pud1';

    try {
        $db = new PDO($dsn, $username, $password);
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch (PDOException $e) {
        echo $e->getMessage();
        exit;
    }


    $result = $db->prepare("SELECT tax_id FROM  master where name =:name");
    $result->bindValue(':name', $name);
    $result->execute();

    foreach($result->fetchAll(PDO::FETCH_ASSOC) as $row){
        echo $Res_user['tax_id'] . '<br />';
    }
}

EDIT 上記の関数は、PDOを使用し、エラーを表示し、tax_id値をブラウザに出力するように更新されました

于 2013-05-26T21:40:08.117 に答える
0

ここに戻ってきたreturn $Res_user['tax_id'];ので、これを試すことができるので、代わりに単一の行が必要だと思います

function Master_file($name, $latin ){

    $HOST_DB ="localhost";
    $NAME_DB="nom";
    $USER_DB ="utilisaeur";
    $PWD_DB="K3Pud1";

    $connect = mysql_connect($HOST_DB,$USER_DB,$PWD_DB);
    if (!$connect) {
        die("Could not connect: " . mysql_error());
    }

    $db=mysql_select_db($NAME_DB, $connect);
    if (!$db) {
        die ("Can't use " . $NAME_DB . " : " . mysql_error());
    }

    $qry = "SELECT tax_id FROM  master where name ='" . $name . "' and latin = '" . $latin . "'";
    $result = mysql_query($qry);
    if( $result ){
        $row = mysql_fetch_assoc($result);
        return $row['tax_id'];
    }
}
于 2013-05-26T21:50:54.790 に答える