将php对象转换为字符串不起作用

时间:2017-06-30 14:19:37

标签: php

我想将位置设置为$link,但仍然在以下代码中,我收到错误消息:可捕获的致命错误:类stdClass的对象无法转换为字符串 这是我的代码:

<?php
    $site_id=$_GET['site_id'];
    $conn=mysql_connect("localhost","root","") or die("couldn't connect to database") ;
    $db=mysql_select_db("search_engine",$conn);
    $value=mysql_query("UPDATE sites set rank=(rank+1) WHERE site_id='$site_id'");
    $query = "SELECT site_link FROM sites WHERE site_id='$site_id' limit 1";
    $result=mysql_query($query);
    $value=mysql_fetch_object($result);
    $link=(string)$value;
    header("Location:".$link);

?>

1 个答案:

答案 0 :(得分:1)

首先不要使用mysql_ *函数。它们容易受到SQL注入攻击。

mysql_fetch_object返回对象。

object mysql_fetch_object ( resource $result [, string $class_name [, array $params ]] )

如果您想获取数据,只需使用箭头操作符

    $value=mysql_fetch_object($result);
    $link=$value->site_link;

参考: http://php.net/manual/en/function.mysql-fetch-object.php