dsgdfh302506 2014-11-29 07:23
浏览 96
已采纳

PHP - mysql_fetch_assoc()错误[重复]

I try this for view single row data:

include("../engine/setconnect.php");

$sql = "SELECT id_member,username FROM account WHERE id_member=".$_GET['id_member'];

$result = mysql_query($sql);
$data  = mysql_fetch_assoc($result);

echo "$data['id_member']";
echo "$data['name']";

But the result always:

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in

Data in 'id_member' is alphanumeric

How to fix this? :(

</div>
  • 写回答

2条回答 默认 最新

  • dtrpv60860 2014-11-29 07:29
    关注

    If that field is indeed alpha numeric, then you should include quotes:

    id_member = '".$_GET['id_member'] . "'";
    

    Please, don't use mysql_* functions in new code. They are no longer maintained and are officially deprecated. See the red box? Learn about prepared statements instead, and use PDO or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.

    Ref: https://stackoverflow.com/a/12860140/3859027

    Here is a simple example using PDO with prepared statements:

    if(isset($_GET['id_member'])) {
    
        $db = new PDO('mysql:host=localhost;dbname=DATABASE_NAME', 'username', 'password');
    
        $sql = "SELECT id_member,username FROM account WHERE id_member = :id_member";
    
        $select = $db->prepare($sql);
        $select->bindParam(':id_member', $_GET['id_member']);
        $select->execute();
    
        $result = $select->fetch(PDO::FETCH_ASSOC);
        echo $result['username'];
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题