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 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题