检索主值时出现问题


Problem with retrieving primary value

我有一个表t_s_list, s_id是主键。现在,如果相应的列已经插入,我想检索主值。如果对应的列是即时的,我可以很容易地得到使用mysql_insert_id函数的值。但是如果value已经存在,该怎么办呢?

注意:如果我想获得已经存在列的主值,我将获得Resource id #5作为结果的值。

我的代码是…

if($txtbx1!="") {
$result=mysql_query("select title from t_s_list where title='$txtbx1'");
   if(mysql_num_rows($result)!=0){
    $resultid=mysql_query("select s_id from t_s_list where title='$txtbx1'");
    print_r($resultid); }
    else
    {
    $insert=mysql_query("Insert into t_s_list(title) values ('$txtbx1') ");
    $resultid=mysql_insert_id();
    print_r($resultid);
    }
}
else    {
    $msg="Text box empty";
}

Emil是正确的,http://php.net/manual/en/function.mysql-query.phpmysql_query返回一个非字符串或整数的资源。

从资源中访问结果表有多种方法。Mysql_fetch_assoc()将返回一个关联数组,其中列头用于读取给定值。即$resource = mysql_query(…);$results = mysql_fetch_assoc();$id = $results["columnIdentifier"];Mysql_fetch_array()将返回一个值数组即$resource = mysql_query(…);$results = mysql_fetch_array();$id = $results[0];假设id是表上返回的第一个元素

$result = mysql_query("select s_id from t_s_list where title='$txtbx1'");
$row = mysql_fetch_assoc($result);
$resultid = $row['sid'];
print_r($resultid);