飞舞的锄头 2013-09-29 01:08 采纳率: 0%
浏览 885

入门php在mysql中查询数据

数据库中有张表有主键pmcode还有其他属性,我现在想通过pmcode判断某个用户是否存在,存在的话将其信息取出,代码如下:

 //拆分发来的信息得到会员卡号
            $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);
        }

可是不管怎样测试都取不到数据,求大神修改。

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-02-24 12:39
    关注

    该回答引用ChatGPT

    在代码中存在一些问题,需要修改和优化。以下是需要注意的几点:

    • 需要确认数据库连接是否成功,可以使用 mysql_error() 函数输出错误信息。如下所示:

      $link = mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT, SAE_MYSQL_USER, SAE_MYSQL_PASS);
      if(!$link) {
        die('连接数据库失败:'.mysql_error());
      }
      
    • 需要确认是否选择了正确的数据库,可以使用 mysql_select_db() 函数输出错误信息。如下所示:

      if(!mysql_select_db(SAE_MYSQL_DB, $link)) {
        die('选择数据库失败:'.mysql_error());
      }
      
    • 在查询数据之前,需要确认是否成功执行了 SQL 语句,可以使用 mysql_error() 函数输出错误信息。如下所示:

      $sql = "SELECT * FROM numbers WHERE pmcode = '".$memberid."'";
      $result1 = mysql_query($sql);
      if(!$result1) {
        die('执行 SQL 语句失败:'.mysql_error());
      }
      
    • 当查询到数据时,需要确认查询到的数据是否为一条,可以使用 mysql_num_rows() 函数获取查询结果的行数。如下所示:

      $num_result = mysql_num_rows($result1);
      if($num_result == 1) {
        // ...
      } else {
        // ...
      }
      
    • 在取出查询结果时,可以使用 mysql_fetch_assoc() 函数获取关联数组,或者使用 mysql_fetch_row() 函数获取索引数组。如下所示:

      $row = mysql_fetch_assoc($result1);
      // 或者
      $row = mysql_fetch_row($result1);
      
    • 在构造 SQL 语句时,需要注意字符串的引号问题,可以使用双引号和单引号交替使用。如下所示:

      $sql = "SELECT * FROM numbers WHERE pmcode = '".$memberid."'";
      // 或者
      $sql = 'SELECT * FROM numbers WHERE pmcode = "'.$memberid.'"';
      
    评论

报告相同问题?

悬赏问题

  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题