繁体   English   中英

从php函数中的选择查询中获取结果

[英]Fetching a result from selection query in php function

我有一个从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)

那是什么问题呢? 我该如何解决?

尝试这个

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 />';
    }
}

编辑上面的功能刚刚更新为使用PDO,显示任何错误,并将tax_id值输出到浏览器

您可以尝试执行此操作,因为返回此处将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'];
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM