Rumah >pembangunan bahagian belakang >tutorial php >php连接mysql查询一条数据

php连接mysql查询一条数据

WBOY
WBOYasal
2016-06-23 14:23:061576semak imbas

php mysql 查询

数据库中有张表有主键pmcode还有其他属性如图:
我现在想通过pmcode判断某个用户是否存在,存在的话将其信息取出,不存在的话返回"不存在",然后通过拼接xml的形式发送出去,代码如下:
//拆分发来的信息得到会员卡号            $arry=explode("+",$form_Content);            $memberid =$arry[1];              //连接数据库            $link=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);               if($link) {                   mysql_select_db(SAE_MYSQL_DB,$link);                    //查询数据                   $result1=mysql_query("select * from numbers where pmcode = '".$memberid."';");                 $num_result = mysql_num_rows($result1);                   if($num_result==1){                       //   $row= $result1->fetch_assoc();                       $row=mysql_fetch_row($result1);                        $result_str="您的会员--信息如下:\n\n卡号:$row[pmcode].\n姓名:.$row[names].\n等级:.$row[4].\n积分:$a[5]";                         $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,$result_str);                         echo $resultStr;                                           exit;                   }else{                     $msgType = "text";                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,"--select * from numbers where pmcode = '".$memberid."'");                      echo $resultStr;                                      exit;                   }        }   else{             echo "连接数据库失败".mysql_error;            }                           mysql_close($link);        }

可是就算输入正确的pmcode都娶不到想要的数据,求大神修改

回复讨论(解决方案)

if($num_result==0){                           //   $row= $result1->fetch_assoc();                           $row=mysql_fetch_row($result1);                            $result_str="您的会员--信息如下:\n\n卡号:$row[pmcode].\n姓名:.$row[names].\n等级:.$row[names].\n积分:$a[names]";                             $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,$result_str);                       		echo $resultStr;                                               exit;

改成==0也不行

echo $memberid;  得到什么值,把sql复制到dos命令行下执行能得到数据吗

echo $memberid;  得到什么值,把sql复制到dos命令行下执行能得到数据吗
得到的是正确的值。

$num_result = mysql_num_rows($result1);
echo $num_result;  //输出什么

$num_result = mysql_num_rows($result1);
echo $num_result;  //输出什么
1

那不就对了,你主帖的代码没问题,应该可以进入if里面。

那不就对了,你主帖的代码没问题,应该可以进入if里面。
取出一条数据后,怎么获得里面的属性,怎么把pmcode,names之类的打印出来?

$row=mysql_fetch_row($result1);
print_r($row);

$row=mysql_fetch_row($result1);
print_r($row);
只取names这个属性呢?

$row['names']

$row['names']

 $link=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);    if($link) {                                                                mysql_select_db(SAE_MYSQL_DB,$link);                        $memberid="J00000000B005";                       //查询数据                       $result1=mysql_query("select * from numbers where pmcode = '".$memberid."'");                                          $row=mysql_fetch_row($result1);                      $num_result = mysql_num_rows($result1);                                        if($num_result==1){						$resultStr= $row['names'];                        echo "fff".$resultStr;                                          exit;                                                }else{                                                    echo "未找到数据";                                                }                                       } else{                    	             echo "连接数据库失败".mysql_error;                 }              	   mysql_close($link);

为什么只输出了fff ?

print_r($row); // 贴出结果

Array ( [0] => J00000000B005 [1] => ?ㄧ??? [2] => F [3] => [4] => [5] => 20121012 [6] => 20130430 [7] => Z [8] => JE11 [9] => 0 [10] => 0 [11] => 0 [12] => [13] => )

print_r($row); // 贴出结果
Array ( [0] => J00000000B005 [1] => ?ㄧ??? [2] => F [3] => [4] => [5] => 20121012 [6] => 20130430 [7] => Z [8] => JE11 [9] => 0 [10] => 0 [11] => 0 [12] => [13] => )

哦,我搞错了。
echo $row[1]; 

有乱码,query前面加上一句:mysql_query("set names utf8"); 试试

你把mysql_fetch_row改成mysql_fetch_assoc试下。。。然后打印数组

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn