Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP错误:";试图获取非对象的属性“;_Php - Fatal编程技术网

PHP错误:";试图获取非对象的属性“;

PHP错误:";试图获取非对象的属性“;,php,Php,我知道这个问题已经被问了很多次了,但是其他的答案都不适合我。我在这条线上遇到了问题: $row = $conn->query("SELECT * FROM urls WHERE id = '$id'"); 我遵循了一个教程,所以我不知道是否有任何其他信息,我应该提供 编辑: 全文如下: <?php function idExists($id){ include $_SERVER['DOCUMENT_ROOT'] . '/short/includes/i

我知道这个问题已经被问了很多次了,但是其他的答案都不适合我。我在这条线上遇到了问题:

$row = $conn->query("SELECT * FROM urls WHERE id = '$id'");
我遵循了一个教程,所以我不知道是否有任何其他信息,我应该提供

编辑:

全文如下:

<?php  

    function idExists($id){
        include $_SERVER['DOCUMENT_ROOT'] . '/short/includes/init.php';
        $row = $conn->query("SELECT * FROM urls WHERE id = '.$id'");

        if($row -> num_rows > 0){
            return true;
        } else {
            return false;
        }
    }

    function urlHasBeenShortened($url){
        include $_SERVER['DOCUMENT_ROOT'] . '/short/includes/init.php';
        $row = $conn->query("SELECT * FROM urls WHERE link_to_page = '$url'");

        if($row->num_rows > 0){
            return true;
        } else {
            return false;
        }
    }

    function getURLID($url){
        include $_SERVER['DOCUMENT_ROOT'] . '/short/includes/init.php';
        $row = $conn->query("SELECT id FROM urls WHERE link_to_page = '$url'");

        return $row->fetch_assoc()['id'];
    }

    function insertID($id, $url){
        include $_SERVER['DOCUMENT_ROOT'] . '/short/includes/init.php';
        $conn->query("INSERT INTO urls (id, link_to_page) VALUES ('$id', '$url')");

        if(strlen($conn->error) == 0){
            return true;
        }
    }

    function getUrlLocation($id){
        include $_SERVER['DOCUMENT_ROOT'] . '/short/includes/init.php';
        $row = $conn->query("SELECT link_to_page FROM urls WHERE id = '$id'");

        return $row->fetch_assoc()['link_to_page'];
    }
?>

您确实忘记了数据库名称:

$conn = new mysqli($servername, $username, $password);

// Create connection like this :
$conn = new mysqli($servername, $username, $password, $dbname);
改变

$row = $conn->query("SELECT * FROM urls WHERE id = '$id'");

也改变了:

if($row -> num_rows > 0)


您确实忘记了数据库名称:

$conn = new mysqli($servername, $username, $password);

// Create connection like this :
$conn = new mysqli($servername, $username, $password, $dbname);
改变

$row = $conn->query("SELECT * FROM urls WHERE id = '$id'");

也改变了:

if($row -> num_rows > 0)


id='$id'
应该是
id='.$id.
您应该检查query()调用的返回值
===FALSE
。如果是,您的查询中可能有语法错误(例如,传入的用户数据)。您可以尝试打印整个查询,以便查看您正在查询的内容。您忘记了将数据库名称:/添加到连接中
id='$id'
应该是
id='.$id.
您应该检查query()调用的返回值
==FALSE
。如果是,您的查询中可能有语法错误(例如,传入的用户数据)。您可以尝试打印整个查询,以便查看您正在查询的内容。您忘记将数据库名称:/