Heim >Backend-Entwicklung >PHP-Tutorial >php连接mysql查询一条数据

php连接mysql查询一条数据

WBOY
WBOYOriginal
2016-06-23 14:23:061552Durchsuche

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试下。。。然后打印数组

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn